@heqinglin
2019-02-20T16:41:02.000000Z
字数 800
阅读 77
css
方法1、table-cell
<div class="box">
<span>垂直居中</span>
</div>
.box{
display: table-cell;
vertical-align: middle;
}
方法二:display:flex
兼容性:ie10+ 需加-ms-
.box{
display: flex;
align-items:center;
}
方法三:子元素绝对定位和margin复值。子元素需要有明确的高度
方法四:子元素绝对定位 0边距 margin:auto 。子元素需要有一定明确的高度
方法五:transform:translate -50%
方法六:inline-block
.box{foont-size:0;}
.box span{
display:inline-block;
vertical-align:middle;
}
.box span:after{
content:'';
display:inline-block;
width:0;
height:100%;
vertical-align:middle;
}
http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
案例:http://www.janeoo.com/
http://www.fzmould.com/en/
1.方式一
存在1%*1%的误差,肉眼不可见。书写固定,适用于框架ui
ul.row{width: 101%;}
.row>.span-3{width:24%; margin-right:1%;}
2.方式二
不存在误差,书写自由,适用于定制开发
ul{margin-right:-1%;}
li{width:24%; margin-right:1%;}