【发布时间】:2015-11-18 08:53:36
【问题描述】:
我在父 div 中有一个子元素(在我的示例中为 h1)。
为什么孩子的边距似乎在父母之外。
下面的例子:
孩子有 30px 的内边距和预期的红色边框。 div 有一个黄色背景,但我希望它的高度为 100 + 30 + h1 + 30 + 100。
div {
background-color: yellow;
}
h1 {
margin: 100px;
padding: 30px;
border: 5px solid red;
}
<div>
<h1>Child</h1>
</div>
有趣的是,如果我像下面的示例那样在 div 周围设置边框 - 它的行为符合我的预期。我知道我可以解决这个问题,但我想知道发生了什么?
div {
background-color: yellow;
border: 5px solid green;
}
h1 {
margin: 100px;
padding: 30px;
border: 5px solid red;
}
<div>
<h1>Child</h1>
</div>
【问题讨论】:
-
它被称为“margin-collapse” 有用的:stackoverflow.com/questions/19718634/…