有没有一种方法可以为除顶部标题之外的所有标题指定顶部边距?

时间:2019-06-16 04:09:44

标签: css

我想在中间的标题前留出多余的空间 文档,但不是页面顶部的第一个标题。

这似乎很常见,但我必须 手动指定它。

换句话说。我想要这个

enter image description here

但如果我指定

h1 {
  margin-top: 1.83em;
}

然后我在顶部获得了这个丑陋的多余空间

enter image description here

我知道可以通过手动指定顶部标题来修复它。例如

h1 {
  margin-top: 1.83em;
}
h1:first-child {
  margin-top: 0.66em;
}

但是我想知道是否还有其他方法以及权衡取舍。我当然可以在第一个标头中添加一个类或id并更改CSS以使用该类或标头,但是我假设这是一种常见的模式,所以我想知道是否存在通用的解决方案。

1 个答案:

答案 0 :(得分:2)

使用:not伪类为所有h1定义样式,但第一个:

h1:not(:first-child) {
  margin-top: 1.83em;
}
<h1>first</h1>

<h1>second</h1>

<h1>third</h1>