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