margin:0 auto; 为什么会失效

1.没有指定宽度 
解决:设置width
结论:分别给要居中的元素添加了指定宽度,没变化,说明不是这个原因
2.浮动、绝对定位、固定定位的盒子失效 结论:看不见有这方面的设置啊,排除
3.行内元素失效 解决方法:①设置display:block;②给定要居中的行内元素的宽度。(自带宽度的input/button等元素无需设置宽度) 结论:我设的div啊,排除
4.display:table-cell;只要display不是block就会失效 结论:因为我引进的类库有关于相关类的设置,display:inline-block,所以失效了 解决方法:display:block,然后margin:0 auto生效。 最好的解决方法 ①所有元素也可以通过对父元素设置 text-align:center;的方式来实现居中。 刚开始没找到原因,就是使用这个方法实现水平居中的。

原文链接:https://blog.csdn.net/roury/article/details/92839607
原文地址:https://www.cnblogs.com/luo1240465012/p/15307423.html