h1 元素不需要的上边距

use*_*425 2 html css

我得到了一个 h1 元素不需要的上边距,不知道为什么。这是我的 html:

<body>
  <div class="content"> 
    <h1>Header</h1>
    <p>Paragraph 1.</p>
    <p>Paragraph 2.</p>
    <p>Paragraph 3.</p>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

这是我的CSS:

body {
  background-color: yellow;
  padding: 0px;
  margin: 0px;
}

h1 {
  background-color: lime;
}

.content {
  background-color: pink;
  position: absolute;
  left: 0px;
  top: 0px;
  padding: 0px;
  margin: 0px;
}
Run Code Online (Sandbox Code Playgroud)

结果:

在此处输入图片说明

我希望 h1 元素与视图的顶部边缘对齐。

如果我从 css def 中删除“position”、“left”和“top”属性,那么 h1 元素会按预期与视图顶部对齐:

在此处输入图片说明

为什么会这样?我正在使用铬。

谢谢

Sim*_*aig 5

您需要添加margin:0;:

h1 {
    margin:0;
    background-color: lime;
}
Run Code Online (Sandbox Code Playgroud)

JSFiddle:http://jsfiddle.net/tb39am7s/


sko*_*jic 5

浏览器本身为每个元素设置默认样式。这包括标题,在顶部和底部有一些边距 - 如果您不需要它们,您需要自己删除它们。

不幸的是,这些默认样式因浏览器而异,即使 W3C 给出了推荐,这就是为什么开发人员在开始添加自己的样式之前尝试重置默认样式或将其标准化。前两者有区别。