CSS 边距折叠

标签 css margin

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

最佳答案

没有。当您有两个相邻的垂直边距时,将使用两者中较大的一个而忽略另一个。

因此,例如,如果您有两个 block 显示元素,A,其下方是 B,并且 A 的底部边距为 3em,而 B 的顶部边距为 2em,那么它们之间的距离将是 3em。

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

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

阅读the CSS 2.1 specification了解更多详情。

关于CSS 边距折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/102640/

相关文章:

html - Rowspan 属性不适用于倒排表

android - 试图了解 ScrollView 内 LinearLayout 的边距

html - margin 自动在 float div 中不起作用

css - IE 6's margin and padding "行为的传奇烦恼”(求助!)

CSS - 图像上的不同边距取决于文本的数量

javascript - 如何获得这个弹出窗口样式?

jquery - 无法跨浏览器获得日历的统一样式

html - 如何使 Css 过渡效果在 Safari 和 Chrome 上工作?

javascript - css html 仅将鼠标悬停在字母/字符区域上

html - 将表单元素居中时,这些 CSS 属性意味着什么?