问题:子div和父div的margin设置。
<div class="a"><div class="b"></div></div>当设置.b {margin: 30px auto 0}时,b盒子并没有距离a盒子顶端30px,反而a盒子也被影响离顶端30px。
原因:所有毗邻的两个或更多盒元素的margin将会合并为一个margin共享之。毗邻的定义为:同级或者嵌套的盒元素,并且它们之间没有非空内容、Padding或Border分隔。
方法1:在父DIV的css加上“overflow:hidden;”。(最佳)
方法2:在父DIV的css加上“border:1px solid transparent;”。
方法2:父级设置padding(破坏非空白的折叠条件)
方法3:在父DIV的css加上float或者position:absolute。(浮动或绝对定位不参与margin的折叠)