纯CSS完成垂直居中的几种要领

垂直居中是规划中非常罕见的结果之一,为完成优越的兼容性,PC端完成垂直居中的要领平常是经由过程相对定位,table-cell,负边距等要领。有了css3,针对挪动端的垂直居中就越发多样化。

要领1:table-cell

html构造:

<div class="box box1">
        <span>垂直居中</span>
</div>

css:

.box1{
    display: table-cell;
    vertical-align: middle;
    text-align: center;        
}

要领2:display:flex

.box2{
    display: flex;
    justify-content:center;
    align-items:Center;
}

要领3:相对定位和负边距

.box3{position:relative;}
.box3 span{
            position: absolute;
            width:100px;
            height: 50px;
            top:50%;
            left:50%;
            margin-left:-50px;
            margin-top:-25px;
            text-align: center;
        }

要领4:相对定位和0

.box4 span{
  width: 50%; 
  height: 50%; 
  background: #000;
  overflow: auto; 
  margin: auto; 
  position: absolute; 
  top: 0; left: 0; bottom: 0; right: 0; 
}

这类要领跟上面的有些相似,然则这里是经由过程margin:auto和top,left,right,bottom都设置为0完成居中,很奇异吧。不过这里得肯定内部元素的高度,可以用百分比,比较合适挪动端。

要领5:translate

.box6 span{
            position: absolute;
            top:50%;
            left:50%;
            width:100%;
            transform:translate(-50%,-50%);
            text-align: center;
        }

这实际上是要领3的变形,移位是经由过程translate来完成的。

    原文作者:Alfred
    原文地址: https://segmentfault.com/a/1190000018745771
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞