垂直居中是布局中十分常見的效果之一,為實(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):
|
|