为什么-webkit-margin-collapse 在body 标签内有h1 时取最小值?
Why does -webkit-margin-collapse take the smallest value when there is an h1 inside of the body tag?
我只是想了解 Chrome 的默认样式表。
如果你有这个html:
<body><h1>Hello</h1></body>
默认情况下,<body>
标签的 margin
为 8px
,<h1>
标签的默认 -webkit-margin-before
为 0.67 em
,达到 21.44px
。为什么 <h1>
标签似乎忽略了 21.44px
边距?边距折叠规则应取两个边距中较大的一个。
谢谢!
在 quirks 模式下,margin collapsing 在各种情况下的行为不同。在您的示例中,具有默认边距的 body
的任何第一个 child 的默认上边距,例如 p
或 h1
,将被忽略。我相信 Chrome 通过 -webkit-margin-collapse
属性 (如您的标题中所述)实现了此行为; Firefox 将大多数 body > :-moz-first-node
元素的上边距清零(参见 quirk.css)。
当您包含 DOCTYPE 时,您会看到预期的行为。
我只是想了解 Chrome 的默认样式表。
如果你有这个html:
<body><h1>Hello</h1></body>
默认情况下,<body>
标签的 margin
为 8px
,<h1>
标签的默认 -webkit-margin-before
为 0.67 em
,达到 21.44px
。为什么 <h1>
标签似乎忽略了 21.44px
边距?边距折叠规则应取两个边距中较大的一个。
谢谢!
在 quirks 模式下,margin collapsing 在各种情况下的行为不同。在您的示例中,具有默认边距的 body
的任何第一个 child 的默认上边距,例如 p
或 h1
,将被忽略。我相信 Chrome 通过 -webkit-margin-collapse
属性 (如您的标题中所述)实现了此行为; Firefox 将大多数 body > :-moz-first-node
元素的上边距清零(参见 quirk.css)。
当您包含 DOCTYPE 时,您会看到预期的行为。