CSS保证金崩溃

时间:2008-09-19 15:10:09

标签: css margin

当你没有为给定的div元素设置任何边距或填充或边框时,基本上会发生边缘折叠吗?

2 个答案:

答案 0 :(得分:74)

没有。如果有两个相邻的垂直边距,则使用两个中较大的一个而忽略另一个。

因此,例如,如果你有两个块显示元素A,其后面是B,A的底边距为3em,而B的上边距为2em,那么它们之间的距离是将是3em。

如果设置边框或填充,则可以防止发生折叠。在上面的例子中,两个元素之间的距离将是5em。

如果您没有设置任何边距,则不会有任何边距崩溃。它与使用的元素类型没有任何关系 - 它适用于所有元素类型,而不仅仅是<div>元素。

阅读the CSS 2.1 specification了解详情。

答案 1 :(得分:4)

  

“表达式折叠边距意味着两个或多个框(可能彼此相邻或嵌套)的相邻边距(没有非空内容,填充或边框区域或间隙将它们分开)组合形成单个边距。“

来源:Box Model - 8.3.1 Collapsing margins