那么当您没有为给定的 div 元素设置任何边距或填充或边框时,基本上会发生边距折叠吗?
最佳答案
没有。当您有两个相邻的垂直边距时,将使用两者中较大的一个而忽略另一个。
因此,例如,如果您有两个 block 显示元素,A,其下方是 B,并且 A 的底部边距为 3em,而 B 的顶部边距为 2em,那么它们之间的距离将是 3em。
如果您设置边框或填充,这可以防止发生折叠。在上面的示例中,两个元素之间的距离将为 5em。
如果您不设置任何边距,则不会有任何边距折叠。它与使用的元素类型没有任何关系 - 它适用于所有元素类型,而不仅仅是 <div>
元素。
阅读the CSS 2.1 specification了解更多详情。
关于CSS 边距折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/102640/