为什么-webkit-margin-collapse在body标签内部有h1时会占用最小的值?

时间:2016-03-26 14:57:37

标签: html css webkit

我只是想了解Chrome的默认样式表。

如果你有这个html:

<body><h1>Hello</h1></body>

默认情况下,<body>标记的margin8px,而<h1>标记的默认-webkit-margin-before0.67 em,来到21.44px。为什么<h1>标记似乎忽略21.44px边距?保证金崩溃规则应该占据两个边缘中较大的一个。

谢谢!

1 个答案:

答案 0 :(得分:1)

在怪癖模式下,边缘折叠在各种情况下表现不同。在您的示例中,将忽略具有默认边距body的任何第一个孩子的默认上边距,例如ph1。我相信Chrome会通过-webkit-margin-collapse属性实现此行为(如标题中所述); Firefox反而将大多数body > :-moz-first-node元素的上边距归零(参见quirk.css)。

当您包含DOCTYPE时,您会看到预期的行为。