css完成元素竖直垂直居中的常见方式(总结)

2021-03-17 07:14 jianzhan

 方式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:⑸0px;
            margin-top:⑵5px;
            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(⑸0%,⑸0%);
            text-align: center;
        }

这具体上是方式3的形变,移位是根据translate来完成的。

方式6:display:inline-block
 

.box7{
  text-align:center;
  font-size:0;
}
.box7 span{
  vertical-align:middle;
  display:inline-block;
  font-size:16px;
}
.box7:after{
  content:'';
  width:0;
  height:100%;
  display:inline-block;
  vertical-align:middle;
}

这类方式的确恰当...根据:after来占位。

方式7:display:flex和margin:auto
 

.box8{
    display: flex;
    text-align: center;
}
.box8 span{margin: auto;}

方式8:display:-webkit-box

.box9{
    display: -webkit-box;
    -webkit-box-pack:center;
    -webkit-box-align:center;
    -webkit-box-orient: vertical;
    text-align: center
}

css3远大精工细作,能够完成许多造就性的实际效果,必须好好科学研究下。

今日又发现1种方式,如今补上:

方式9:display:-webkit-box

这类方式,在 content 元素外插进1个 div。设定此 div height:50%; margin-bottom:-contentheight;。

content 消除波动,并显示信息在正中间。

<div class="floater"></div>  
<div class="content"> Content here </div>  

.floater {
    float:left; 
    height:50%; 
    margin-bottom:⑴20px;
}
.content {
    clear:both; 
    height:240px; 
    position:relative;
}

优势:

可用于全部访问器
沒有充足室内空间时(比如:对话框变小) content 不容易被断开,翻转条出現 

总结

以上所述是网编给大伙儿详细介绍的css完成元素竖直垂直居中的常见方式,期待对大伙儿有一定的协助,假如大伙儿有任何疑惑请给我留言,网编会立即回应大伙儿的。在此也十分谢谢大伙儿对脚本制作之家网站的适用!