使标题(h1、h2、..)从正文继承样式



我想根据文本的重要性来组织页面。 即我想使最重要的文本h1,等等。我想这样做,以便搜索引擎能够找到要在结果摘录文本中显示的正确文本。

但是,我不想让这些样式来指示文本的显示方式,所以我在 CSS 中为 .html.body 设置了某些默认值,并希望标题 ( h1 ...( 从它们继承。(我会根据需要为页面定制样式。

不幸的是,无论如何,标题的显示方式似乎有所不同,例如以较大的字体显示。那么有没有办法告诉浏览器在样式方面将标题视为正文文本呢?(我知道我可以为标题设置 CSS,但是当有人更改.body CSS 但忘记更改 CSS h1时会发生什么......

您可以像这样简单地在 CSS 工作表的顶部设置设置样式。

h1{}
h2{}
body{}

body h1{}
body h2{}

要在以后调整这些样式,只需在 CSS 工作表下方添加新样式即可。自从你的CSS 工作表是一个级联样式表,它从工作表顶部向下继承样式。

试试这个,现在你不需要到处更改类,因为 js 会改变它,并且你完成了使正文和标头具有相同的样式,但仍然可以有差异:

window.onload = function() {
  document.getElementsByTagName("body")[0].className = "myClass";
  let h1s = document.getElementsByTagName("h1");
  for (let i = 0; i < h1s.length; i++) {
    h1s[i].className = "myClass";
  }
};
.myClass {
  font-size: 30px;
  color: red;
  font-weight: normal;
}
<!DOCTYPE html>
<html>
<body>
  <h1>My First Heading</h1>
  <p>My first paragraph.</p>
</body>
</html>

最新更新