我的 HTML 骨架模板:head 里每个标签为什么按这个顺序出现
来源: vale.rocks — 2026-09-09
概述
Vale.Rocks 作者公开了自己维护的 HTML boilerplate——像他自维护的 CSS reset 一样,是个很有主见的基础模板。文章逐条解释了 head 中每个标签的作用与顺序理由:charset 必须放在最前,因为它必须出现在文档前 1024 字节内;viewport 不必再带 initial-scale=1,而 minimum-scale、maximum-scale、user-scalable 会严重损害可访问性、永远不该使用;字体用 preload 且即使同源也必须写 crossorigin;og:title 不重复站点名,因为嵌入卡片旁边通常已经显示域名或 og:site_name;favicon 用 SVG,可以随明暗模式动态适配、无需维护多套位图尺寸。
核心要点
- charset 放在 head 最前,必须出现在文档前 1024 字节内,且要在任何可能被弄乱的元素之前。
- initial-scale=1 已无必要,而 minimum-scale、maximum-scale、user-scalable 会严重损害可访问性,永不该用。
- head 中元素的顺序对性能有影响,可用 Capo.js 从性能角度评估。
- 字体用 preload 且即使同源也必须写 crossorigin,格式统一使用 WOFF2。
- favicon 用 SVG:支持好、可适配明暗模式、各尺寸都好看,还免去维护多套位图。
金句
这只是一个骨架。它是我在几乎每个站点上都会用的模板,只是稍作改动。
👍 0
👎 0
返回 Lobsters 首页