【发布时间】:2020-05-13 20:55:59
【问题描述】:
我已经成功地将 h2 元素的边距包含在其容器 - section 元素中。这样它就不会随着 p 元素的边距折叠。我通过将部分元素的overflow 设置为auto 来完成此操作。
我的问题是:
由于
overflow设置为visible以外的任何元素的边距不能折叠,为什么我成功实现的效果只有在容器(部分)元素设置为@ 时才有效987654327@?为什么h2元素设置为auto时不起作用?当我们去掉 p 元素的边距,并且没有将
section设置为auto时,h2 将失去其上边距。为什么会这样?它似乎没有与另一个会使其崩溃的边距接触。
如果有帮助,请查看 codepen! https://codepen.io/rfrostr/pen/XWmzewp
<header>
<p>I am a p element.
</p>
</header>
<section id="profile-section">
<h2>I am a h2 element</h2>
</section>
【问题讨论】:
-
2.
h2仍然有它的边距,当你将它悬停在开发工具中时,你可以清楚地看到这一点。但是它会通过该部分折叠,因此该部分现在有效地具有一个margin-top,使其远离标题。 (这实际上是w3.org/TR/CSS21/box.html#collapsing-margins 的“相邻边距”部分,而不是实际的“折叠”。)