html
<div class="a"> <div class="b">bbbbbbb</div> </div>
css
body { padding: 0; margin: 0; } .a { background: red; } .b { background: blue; margin-top: 10px; }
http://jsfiddle.net/nhk6g1qx/1/
父标签高度没有被撑开但留出了10像素的高度
而给a增加padding-top:10
红色背景顶部出现了20的高度
http://jsfiddle.net/nhk6g1qx/4/
子和父的 margin 发生了折叠,可设置父元素
overflow:hidden;
触发 BFC 解决:http://jsfiddle.net/nhk6g1qx/5/具体参见这个答案:http://segmentfault.com/q/1010000002645174/a-1020000002646638