谢谢大家的回答,@gaurav5430发布了一个链接,它的定义非常精确,我想在此答案中进行总结。至于为什么他们决定这个元素应该表现得如此,我仍然不清楚;但至少我们能够找到适用于利润率下降的规则:
“简单来说,此定义表示当两个元素的垂直边距相接触时,将仅保留边距值最大的元素的边距,而边际值较小的元素的边距将被折叠为零
基本上,在我们关于原始问题的示例中,最大的边际收益是
<h1>因此而采用并应用于父项的收益之一
<div>。
该规则被取消:
- 浮动元素
- 绝对定位的元素
- 内联块元素
- 溢出元素设置为可见以外的任何元素(它们不会与子元素折叠边距。)
- 已清除元素(它们不会用其父块的底部边距折叠顶部边距。)
- 根元素
这就是
overflow:hidden解决问题的原因。
也要感谢@Adrift发布了很好的资源,尽管我发现@ gaurav5430的答案更直接,更容易理解。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)