bac*_*ire 0 html css border margin
这个问题似乎不像其他问题那么重要,但我想了解它 是如何工作的以及为什么会这样工作。
我们这里有一个非常简单的代码笔:
html, body {
margin: 0;
padding: 0;
}
.header {
background-color: #ccc;
/* border: 3px solid pink; */
}Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test1</title>
</head>
<body>
<div class="header">
<h1>Header</h1>
<h2>Subheader</h2>
</div>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
当边框被注释时,笔的工作方式如下:
我们可以看到,边距h1并h2没有被“背景颜色”属性着色。在这里我想‘好吧,因为它只是div.header包含的内容。
但如果我们删除评论并为其设置边框,div.header它的行为就会突然变得不同。

现在h1,h2边距成为了一部分,div.header尽管边框只是发生了变化。你能帮我解释一下这个现象吗?我知道这有一个合乎逻辑的解释。非常感谢。