http://www.cnblogs.com/rubylouvre/archive/2010/07/08/1774025.html
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兼容比较麻烦,布局可以参考ionic栅格。
3需要定位,4需要有参照物,最简单的还是table的方法。