当这一套聪明的规则可以有所帮助时,我们无法弄清楚情况。当你将不同的布局组合在一起时,它们打破了盒子模型的简单性,并提供了无限的麻烦来源。那么是什么原因?在CSS中引入了margin collapse规则的原因是什么?
Rules仅供参考。
更新:规则对于同胞元素是非常合乎逻辑的,但是为什么边缘应该传播到父元素直到树?解决什么样的问题?
例如:
<div style="margin: 20px; background-color: red;">
<div style="margin: 20px;">
<p style="margin: 100px;">red</p>
</div>
</div>
<div style="margin: 20px; background-color: blue;">blue</div>
顶级的div彼此由100像素间隔开。
其实,我宁愿替代它的清晰度。虽然我同意在某些情况下利润率崩溃有帮助。 – 2009-09-17 11:32:01
这对兄弟元素来说非常合乎逻辑。但我仍不清楚为什么儿童元素的利润率会影响父母的利润率。 – actual 2009-09-17 11:49:51
@actual:无论周围的元素如何,子元素和父元素的边界之间的间隔必须相同。周围的元素不能在父元素和子元素的边界之间引入间隔,因为这可能会改变父元素的大小,所以边距必须将父元素也推走,而不仅仅是子元素。 – Guffa 2009-09-17 12:28:56