不确定元素宽度和高度时实现居中

一、在元素高度、宽度已知时,实现水平垂直居中就很简单了

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 }
原文地址:https://www.cnblogs.com/yiyangl/p/10130316.html