当你没有为给定的div元素设置任何边距或填充或边框时,基本上会发生边缘折叠吗?
答案 0 :(得分:74)
没有。如果有两个相邻的垂直边距,则使用两个中较大的一个而忽略另一个。
因此,例如,如果你有两个块显示元素A,其后面是B,A的底边距为3em,而B的上边距为2em,那么它们之间的距离是将是3em。
如果设置边框或填充,则可以防止发生折叠。在上面的例子中,两个元素之间的距离将是5em。
如果您没有设置任何边距,则不会有任何边距崩溃。它与使用的元素类型没有任何关系 - 它适用于所有元素类型,而不仅仅是<div>
元素。
阅读the CSS 2.1 specification了解详情。
答案 1 :(得分:4)
“表达式折叠边距意味着两个或多个框(可能彼此相邻或嵌套)的相邻边距(没有非空内容,填充或边框区域或间隙将它们分开)组合形成单个边距。“