文字居中,文字垂直居中水平居中,图片居中,图片水平居中垂直居中,块元素垂直居中?当我们在做前端开辟是时候关于css居中的问题是很常见的。情况有很多种,不合的情况又有不合的解决体例。水平居中的体例解决的时候相对来讲通过css比较容易设置,垂直居中相对比较毒手。
先来讲一下水平居中的不合情况与不合解决体例吧。
1文本,图片等行内元素的水平居中体例呢比较简单。直接给父元素设置一个text-align:centent属性便可以实现元素的水平居中了。
2 确定宽度的块级元素水平居中怎么设置呢?设置体例也不难,可以通过设置外边距,margin:0 auto;这句来实现确定宽度的块级元素水平居中。
3 不确定宽度的块级元素设置水平居中的体例有多种,这里介绍三种体例给年夜家。
第一种体例呢,是使用table作为容器的体例来实现。当然不年夜推荐使用这种体例,因为添加了无意义的标签。这里就稍微介绍一下吧。Table标签自己其实不是块级元素,当我们不设置table的宽度的话,他里面的宽度是由他内部元素的宽度撑起来的。但即便我们没有设置table的宽度,直接设置table的外边距margin:0 auto;便可以实现水平居中了!这样我们便可以通过设置table水平居中,间接使里面的内容居中。
第二种体例,相对用table的体例的益处是不消增加无语义标签,简化标签嵌套深度。这个思路是这样的,通过改变块级元素的display属性值为inline类型,然后设置text-align:center来实现居中。这种体例也有一定不当之处就是把块级元素改成行内元素后,行内元素比块元素少了一些功能。比如说设定长宽值等,在项目运用中可能会有一些限制,年夜家可以自行选择。
下面是第三种体例。通过给父元素设置浮动float,再设置父元素的position属性为relative和left:50%;子元素设置position:relative和left:-50%来实现水平居中。这个益处是可以保存块级元素仍然是以display:block的形式显示,不会添加无意义的标签,不添加嵌套深度。确点是设置了position:relative;带来了一些副作用。下面是第三种体例的实例代码,放到body标签里面便可以了。
<div style=”width:400px;height:300px;background:#333;”>
<ul style=”margin:0 auto;float:left; position:relative; left:50%;list-style:none; padding:0;”>
<li style=”position:relative; left:-50%;float:left”>OKOKOKOKKOOKK</li>
</ul>
</div>
三种体例使用都比较普遍,都有缺点和优点。具体选择哪种体例可视情况而定。Css文字图片块元素水平居中的体例就介绍到这里。
本文首发于:五指前端