3
<div id="title">
    <h1>
        Title
    </h1>
</div>

h1我知道标签有一些默认边距。当我使用 chrome 开发工具检查它时,我发现该div部分小于h1部分(突出显示的区域h1大于div)。好像div不包括边距h1,谁能告诉我为什么?

4

1 回答 1

7

2.1 规范:

“如果元素没有上边框、没有上边距且子元素没有间隙,则流入块元素的上边距与其第一个流入块级子元素的上边距一起折叠。”


还:

  • 浮动元素的边距永远不会塌陷,即使是流入块的后代也不塌陷
  • 内联块元素的边距永远不会塌陷,即使是流内块的后代也不塌陷
  • overflow具有其他属性值的块容器visible没有折叠边距,即使是流入块后代也没有
  • 绝对/固定定位元素的边距不会塌陷,即使是流入的后代也不塌陷
  • 相邻弹性项目的边距不会折叠
  • 水平边距永远不会塌陷

关于负边距崩溃,2.1 Spec 规定

“在负边距的情况下,从正边距的最大值​​中减去负边距的绝对值的最大值。如果没有正边距,则从相邻边距的绝对值的最大值中减去零。”

于 2013-05-06T14:32:50.703 回答