|
垂直居中是布局中十分常見的效果之一,為實(shí)現(xiàn)良好的兼容性,PC端實(shí)現(xiàn)垂直居中的方法一般是通過絕對(duì)定位,table-cell,負(fù)邊距等方法。有了css3,針對(duì)移動(dòng)端的垂直居中就更加多樣化。 方法1:table-cell html結(jié)構(gòu):
css:
方法2:display:flex
方法3:絕對(duì)定位和負(fù)邊距 .box3{position:relative;}
方法4:絕對(duì)定位和0
這種方法跟上面的有些類似,但是這里是通過margin:auto和top,left,right,bottom都設(shè)置為0實(shí)現(xiàn)居中,很神奇吧。不過這里得確定內(nèi)部元素的高度,可以用百分比,比較適合移動(dòng)端。 方法5:translate
這實(shí)際上是方法3的變形,移位是通過translate來實(shí)現(xiàn)的。 方法6:display:inline-block
這種方法確實(shí)巧妙...通過:after來占位。 方法7:display:flex和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博大精深,可以實(shí)現(xiàn)很多創(chuàng)造性的效果,需要好好研究下。 今天又發(fā)現(xiàn)一種方法,現(xiàn)在補(bǔ)上: 方法9:display:-webkit-box 這種方法,在 content 元素外插入一個(gè) div。設(shè)置此 div content 清除浮動(dòng),并顯示在中間。 <div class="floater"></div> <div class="content"> Content here </div> .floater {
float:left;
height:50%;
margin-bottom:-120px;
}
.content {
clear:both;
height:240px;
position:relative;
}
優(yōu)點(diǎn): 缺點(diǎn):
|
|
|