绝对定位居中

1、兼容性不错的主流css绝对定位居中的用法:

.conter{
    width: 600px; height: 400px;
    position: absolute; left: 50%; top: 50%;
    margin-top: -200px;    /* 高度的一半 */
    margin-left: -300px;    /* 宽度的一半 */
} 

这种方法有一个很明显的不足,就是需要提前知道元素的尺寸。否则margin负值的调整无法精确。此时,往往要借助JS获得。

2、使用transform代替margin:

.conter{
    width: 600px; height: 400px;
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%); 
}

transform中translate偏移的百分比值是相对于自身大小的,可以这样实现css绝对定位居中。

3、margin:auto实现绝对定位元素的居中

.conter{
    width: 600px; height: 400px;
    position: absolute; left: 0; top: 0; right: 0; bottom: 0;
    margin: auto;
}

4,div宽度未知1


  
没有宽度
照样居中,嘿嘿嘿

2,div宽度未知2

居中
蓄力中
.outer { position: relative; /* or absolute */ /* unnecessary styling properties */ margin: 5%; width: 80%; height: 500px; border: 1px solid red; } .inner { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); /* unnecessary styling properties */ max-width: 50%; text-align: center; border: 1px solid blue; }

ps:此方法适合ie8以上的浏览器

你可能感兴趣的:(css)