CSS Transform让百分比宽高布局元素水平垂直居中

很早以前了解过当元素是固定宽度和高度的时候,水平垂直高居中的方法可以设置margin的负值来使其居中,这个负值是元素的宽和高的一半,比如宽高是100px,那么就用margin-left:-50px;margin-top:-50px这样的写法。但如果这个元素的宽高是用百分比表示呢?

如果使用百分比来设置宽高的话,以前哪个负值方法已经用不上了,这个我们发现在一个小的窍门,就是使用CSS3中的transform的translate转换属性。

HTML代码

<div class="center">您可以尝试改变浏览器大小,这个元素依然是水平垂直居中的</div>

CSS代码

.center{

position: absolute;

top: 50%;

left: 50%;

width:50%;

height:30%;

扫描二维码关注公众号,回复: 5813052 查看本文章

padding:20px;

text-align:center;

background:#393;

color:#fff;

transform: translate(-50%, -50%);

}

如果你直接复制代码无法使用,请添加-webkit-transform或-moz-transform前缀

top: 50%;left: 50%;transform: translate(-50%, -50%);这段代码是关键;

猜你喜欢

转载自blog.csdn.net/sunlizhen/article/details/88393008