一、在元素高度、宽度已知时,实现水平垂直居中就很简单了
1 .position_all{2 width: 600px;3 height: 400px;4 position: absolute;5 top: 50%;6 left: 50%;7 margin-left: -300px;//width的一半8 margin-top: -200px;//height的一半9 }
二、当元素本身高度不确定时,margin-left:-50%是不行的,此时百分比不是元素本身的一半。也就是说如果百分比是相对自身就可以了,那我们可以使用css3的transform来代替margin:
1 .position_all{2 width: 600px;3 height: 400px;4 position: absolute;5 top: 50%;6 left: 50%;7 transform: translate(-50%,-50%);8 }
但transform目前兼容性不好(手机web开发可忽略)。或者这样,用margin: auto;来实现水平垂直居中:
1 .position_all{2 width: 600px;3 height: 400px;4 position: absolute;5 top: 0;left: 0;right: 0;bottom: 0;6 margin: auto;7 }