转载:
http://blog.csdn.net/freshlover/article/details/11579669
做手机的页面,经常会遇到需要垂直居中的情况,这里把常用的 垂直居中的几种方法 整理下。
结构
<
div
class
=
"box box1"
><
span
>我是垂直居中元素</
span
></
div
>
方法1:dispaly:table-cell
.box1{ text-align:center; display:table-cell; vertical-align:middle;}
方法2:display:flex
.box2{ display:flex; justify-content:center; align-items:center; text-align:center;}
方法3:translate(-50%,-50%)
.box3{ position:relative;}.box3 span{ position:absolute; left:50%; top:50%; -webkit-transform:translate(-50%,-50%); width:100%; text-align:center;}
方法4:display:inline-block
.box4{ text-align:center; font-size:0;}.box4 span{ vertical-align:middle; display:inline-block; font-size:16px;}.box4:after{ width:0; height:100%; display:inline-block; vertical-align:middle;}.box4:after{ content:''}
方法5:margin:auto
.box5{ display:flex; text-align:center;}.box5 span{ margin:auto;}
方法6:display:-webkit-box
.box6{ display:-webkit-box; -webkit-box-pack: center; -webkit-box-align: center; text-align:center;}
2,5,6实际都是flexbox的方法,flexbox兼容比较麻烦,布局可以参考。
3需要定位,4需要有参照物,最简单的还是table的方法。