水平居中兼容性
- 在现代浏览器中实现水平居中,可以使用
display: flex;justify-content: center;。 - 不过,在
IE8-9这样的不支持弹性盒布局的旧式浏览器中,上述代码并不会生效。此时要实现在父元素中居中,可使用margin: 0 auto;。 margin: auto兼容性非常好,如果要兼容老式浏览器,一定要用。失效的几种情况
1.没有设置width
在没有设置宽度的情况下,盒子的大小是不确定的,没有办法计算居中的位置。2.不是块级元素
margin:0 auto;只对块级元素起作用,所以在使用的时候,要注意设置的元素是否为块级元素,如果不是可以使用display: block;3.该元素设置了浮动属性
对于浮动的元素,已经脱离了文档流,所以不生效4.该元素设置了绝对定位
设置了position: absolute;元素也脱离了文档流,所以不生效
