本日主要谈一谈CSS中的各类居中的步伐。
首先是程度居中,最简朴的步伐虽然就是
复制代码 代码如下:
margin:0 auto;
也就是将margin-left和margin-right属性配置为auto,从而到达程度居中的结果。
那么其他的步伐呢?容我一一道来:
line-height
首先先容文字的程度居中要领:
复制代码 代码如下:
<div>刘放</div>
操作line-height设为height的一样即可:
复制代码 代码如下:
.wrap{
line-height: 200px;/*垂直居中要害*/
text-align:center;
height: 200px;
font-size: 36px;
background-color: #ccc;
}
结果如下:
padding填充
操作padding和background-clip共同实现div的程度垂直居中:
复制代码 代码如下:
<div>
<div></div>
</div>
通过backgroun-clip配置为content-box,将配景裁剪到内容区外沿,再操作padding设为外div减去内div的差的一半,来实现:
.parent{ margin:0 auto; width:200px; height:200px; background-color:red; } .children { width: 100px; height: 100px; padding: 50px; background-color: black; background-clip:content-box;/*居中的要害*/
结果如下:
margin填充
接下来先容margin填充的方法来实现程度垂直居中。
首先我们照旧界说父子div:
<div>
<div></div>
</div>
这里我们操作将子div的margin-top配置为父div高度减去子div高度的一半,然后再通过overflow配置为hidden来触发父div的BFC,LESS代码如下:
@parentWidth:200px; @childrenWidth:50px; .parent { margin:0 auto; height:@parentWidth; width:@parentWidth; background: red; overflow:hidden;/*触发BFC*/ } .children { height:@childrenWidth; width:@childrenWidth; margin-left:auto; margin-right:auto; margin-top: (@parentWidth - @childrenWidth) / 2; background:black; }
最后获得居中结果如下:
absolute定位
操作position:absolute搭配top,left 50%,再将margin设为负值也可以对div举办程度垂直居中,首先照旧需要界说父子div:
复制代码 代码如下:
<div>
<div></div>
</div>
然后配置相应的css:
.parent { position:relative; margin:0 auto; width:200px; height:200px; background-color:red; } .children { position:absolute; left:50%; top:50%; margin:-25px 0 0 -25px ; height:50px; width:50px; background-color: black; }
个中的margin中的值为该div宽度的一半,最后结果图:
text-align居中
众所周知,text-align可以使得一个div中的内容程度居中。可是假如是要将该div中的子div居中呢?可以将子div的display设为inline-block。
.parent { text-align:center; margin:0 auto; width:200px; height:200px; background:red; } .children { positiona;absolute; margin-top:75px; width:50px; height:50px; background: black; display:inline-block;/*使其父元素text-align生效*/ }
图片居中
一般的图片居中都是和text-align一样,将图片包装在一个div中,将该div的text-align设为center即可。
可以参考下面的链接:
小我私家站点
有一种非凡的方法,操作了一个图片举办占位,以让父容器得到高宽,从而让举办-50%偏移的图片能有一个参照容器作百分比计较。利益是可以不知道图片的巨细,随便放张尺寸不高出父容器的图片上去都能做到居中。别的,兼容性好,IE6都是能顺利兼容的。代码如下:
复制代码 代码如下:
<div>
<p>
<img src="" alt="" />
<img src="" alt="" /></p>
</div>