【为什么?】CSS 设置margin:'0 auto';不生效

背景

记得刚开始开发工作的时候,对于设置CSS不生效的问题,心烦意乱,经常各种搜索探究结果,往往收获不少新知识,一句“哦,原来如此!”心满意足,没有习惯记录。随着工作年限增长,CSS问题遇到的多了,解决方法也多了,眼界确实开阔了不少,但是细枝末节的知识点却没有记住,导致经常遇到似曾相识的样式问题,最后也不过换一个方案实现就好了。

现在反思起来以前的做法实在是大大的亏损,导致个人的技能:

  1. 知识网没有建立起来;
  2. 技能没有深度,只知皮毛,停留在解决问题的阶段,没有真正理解问题;
  3. 更不可能融会贯通;

前事不忘后事之师,吸取教训,开始记录开发过程中遇到的问题,并顺带把相关问题进行适度总结;


正文

今天在设置一个loading组件的外层div居中时,由于子组件是动态展示的,而且开发功能已基本完成,所以不便添加比较重的flex布局,就想着只给loading加个margin:'0 auto'; 来实现左右居中,结果出乎意料的是并未生效。

image.png

搜索得知需要设置loading 外层的div display :'block';

image.png

总结

margin:'0 auto'; 只对块元素起作用,还要设置width属性。

注:img/input/button等自带宽度,可不设置。

猜你喜欢

转载自juejin.im/post/7039628897733836813