当前位置: 首页 > Web前端 > HTML

【前端】这可能是你见过最全的css居中解决方案~

时间:2023-04-02 11:09:43 HTML

1.水平居中:内联元素解决方案适用元素:文本、链接等内联或inline-*类型元素(inline-block、inline-table、inline-flex)html部分代码:

text元素
Css部分代码:nav,div{text-align:center;}/*解决方法:将内联元素包裹在一个display属性中给block的父元素(eg,div,nav)设置这个parent元素属性:text-align:center*//*现在可以看到子元素了在nav和div中水平居中*/2。水平居中:块元素解决方案对于块元素(display:block),我们需要将其左右外边距(即margin-left,margin-right)设置为auto来实现块元素居中,如下:html部分代码:水平居中块元素
水平居中块元素

css部分代码:/*注:需要居中的块元素需要要有固定的宽度,否则不能居中,因为它占了100%的宽度*/div,p{width:200px;/*这里需要设置元素的宽度*/height:150px;背景:#222;color:#FFF;}/*定义居中的关键属性*/.center{/*这里可以设置上边距*/margin:10pxauto;}/*现在可以看到居中效果的块元素了*/3。水平居中:多块元素解决方案如果页面中有多个块元素需要水平居中排列,可以设置元素的display属性设置属性为inline-block,父元素的text-align属性设置为centerhtml中的部分代码:Horizo??ntallycenteredblockelements
Horizo??ntallycenteredblockelements
css部分代码:/*解决方法:设置这些块状元素的display属性为inline-block,父元素的text-align属性设置为center*/.center{display:inline-block;}body{text-align:center;}/*元素美化*/div{width:100px;背景:#222;高度:50px;颜色:#FFF;padding:10px;}4.Horizo??ntalcentering:multipleblockelementssolution(implementedusingflexboxlayout)使用flexbox布局,只需要在块元素的父元素上添加属性display:flex和justify-content:center即可处理。部分html代码:
水平居中块元素
水平居中块元素
css部分代码:解决方法:设置需要居中的块元素的父元素的显示horizo??ntally到flex,justify-content属性为center。正文{显示:弹性;justify-content:center;}/*页面美化元素*/div{width:100px;背景:#222;高度:50px;颜色:#FFF;填充:10px;,即如果inline、inline-*类型的元素需要居中,可以将其height和line-height同时设置为父元素的高度,达到垂直居中的效果。hello,gbtags.com
css中部分代码:解决方法:设置内联元素的高度和line-heightdevice保持一致即可#container{background:#222;height:200px;}/*将a元素的height和line-height设置为与父元素同高,实现垂直居中*/a{height:200px;行高:200px;color:#FFF;}6.垂直居中:多行内联元素解决方案结合display:table-cell和vertical-align:middle属性定义需要居中的元素的父容器元素如下:Parthtml代码:LoremIpsumDolorSitAmet,ConsecteturAdipisicingElite。Reiciendisblanditiisoptioaccusamusquiasapienteatlaboreconsecteturinquasiveritatispossimusquod没有任何verosaeperemquas。口粮要来了!css部分代码:解决方案:使用display:table-cell和vertical-align来控制elements.container的居中效果{background:#222;宽度:300px;高度:300px;/*以下属性垂直居中*/display:table-cell;7.垂直居中:已知高度的块元素解决方案html代码:css代码:解决方法:设置要居中的元素为绝对定位,设置margin-top为负值div{width:100px;高度:100px;background:#222}/*下面是居中代码*/.item{top:50%;边距顶部:-50px;位置:绝对;padding:0;}/*现在你可以看到元素垂直居中了。如果元素有padding设置,请自行计算margin-topvalue*/8。垂直居中:高度未知的块元素解决方案对于高度未知的元素,使用transform属性垂直移动实现垂直居中:html代码:Loremipsumdolorsitamet,consecteturadipisicingelit。Ametsintrepellendusautquisquameligendiestindeleniti.css代码:解决办法:因为margin-top的偏移量不能指定,所以这里使用transform属性,垂直移动-50%就div{width:150px;背景:#222;color:#FFF;}/*元素垂直居中代码*/.item{top:50%;位置:绝对;变换:翻译Y(-50%);/*这里我们使用css3的transform来实现类似的效果*/}9.水平垂直居中:已知高宽的元素解决方案html代码:css代码:解决方案:put设置元素的绝对定位,设置margin-left和margin-right为居中元素的负值(height或width/2)div{width:150px;高度:150px;背景:#222;颜色:#FFF;}.item{位置:绝对;顶部:50%;左:50%;边距顶部:-75px;margin-left:-75px;}/*上面的代码可以保证已知高宽的元素水平和垂直居中*/10.水平和垂直居中:Unknownheightandwidthelementsolution解决方案html代码:cupiditatenostrumquaeratdebitis.css代码:解决方法:设置元素的绝对定位,设置transform的translate为X,Y轴可以同时移动-50%div{background:#222;color:#FFF;}/*下面的代码保证元素在水平和垂直方向绝对居中*/.item{position:absolute;顶部:50%;左:50%;transform:translate(-50%,-50%);}11.水平和垂直居中:使用flex布局实现html代码:/div>css代码:解决方法:设置flex布局,定义居中元素的父元素的justify-content和align-items属性为center/*子元素CSS*/.item{background:#222;颜色:#FFF;宽度:100px;高度:100px;}.parent{显示:flex;证明内容:居中;对齐项目:居中;/*注意这里需要设置高度才能看到垂直居中的效果*/background:#AAA;height:300px;}注:以上资源整理自极客标签学习文档,推荐大家学习使用,附网址:http://www.gbtags.com