【发布时间】:2015-02-03 13:05:45
【问题描述】:
上边距小于下边距的零高度 div 的定位量与页面顶部的下边距相等。给 div 任何高度或放入任何内容都会使其按预期定位。这是为什么呢?
<div style="margin: 2px 0 50px;"></div>
小提琴:http://jsfiddle.net/atfu4waw/
(您必须检查元素才能看到 div。)
【问题讨论】:
-
使用溢出:隐藏;对于 div
-
虽然可行,但我仍然想知道原因。这背后的规律或逻辑是什么?
-
这是因为边距折叠浮动框和任何其他框之间的边距不会折叠(甚至在浮动框与其流入的子代之间也不折叠)。建立新块格式化上下文的元素的边距(例如浮动和具有“溢出”而不是“可见”的元素)不会与它们的流入子代一起折叠。内联块框的边距不会折叠(即使它们的流入子框也不折叠)。