主要观点:浏览器开始推出嵌套节标题的默认 UA 样式更改,开发者应避免依赖 UA 样式,文中介绍了变化内容、预期情况、修复 Lighthouse 警告的方法及总结等。
关键信息:
- HTML 规范曾定义基于嵌套节元素数量的
<h1>
隐式语义标题级别,浏览器渲染曾使不同层级的<h1>
有不同字体大小和边距,后大纲算法被移除但 UA 样式表规则仍存在。 - 浏览器样式更改及 Lighthouse 工具对未定义
<h1>
字体大小的情况进行标记,不同浏览器的更改时间和情况不同,如 Firefox 从 2025 年 3 月 31 日起为部分 Beta 138 用户移除 UA 样式等。 - 修复 Lighthouse 警告需为
<h1>
定义明确的字体大小和边距,可使用:where()
避免覆盖其他样式规则,MDN 页面也有相关用法说明。
重要细节: - 旧 UA 样式下,
section > h1
与<h2>
字体大小和边距相同等,新 UA 样式下各级<h1>
字体大小相同。 - Firefox 相关 bug 如 1885509、1937568 及测试设置,Chrome 从 136 版起对特定
<h1>
显示弃用警告及影响,Safari 的实现 bug 等。 - 给出修复警告的推荐样式,如
h1 { margin-block: 0.67em; font-size: 2em; }
和:where(h1) { margin-block: 0.67em; font-size: 2em; }
等。
总结:不要依赖默认浏览器样式传达标题层次,定义自己的<h1>
字体大小和边距,更新 CSS 重置,用 Lighthouse 和 DevTools 审计站点,查看 MDN 文档用法说明。同时提到相关的之前和之后的博客文章链接。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。