必须写且位于第一行,lang属性需设为zh-CN等具体值,viewport和charset元标签不可省略且顺序固定。

直接用标准 HTML5 模板起步最稳妥,不用额外查兼容性或删冗余代码。
为什么必须写
不写这行,浏览器会进怪异模式(Quirks Mode),box-sizing、flex 等行为全乱套。哪怕只是练手,也得从第一行就对齐现代标准。
是唯一被所有浏览器识别的 HTML5 声明,别写成 <code> 或带空格的变体- 它必须是文档第一行,前面不能有任何字符(包括注释、空格、BOM)
- 旧教程里那些
..>全部过时,练手时完全不用看
里的 lang 属性真有必要?
有必要。不只是 SEO 或屏幕阅读器的事——中文网页没设 lang,某些字体 fallback 会跳到日文/韩文字体,段落间距、标点悬挂也可能异常。
-
lang="zh-CN"表示简体中文,若内容含繁体字可改用lang="zh-HK"或lang="zh-TW" - 不要写成
lang="zh"这种泛化值,Chrome 和 Safari 对它的解析不如具体子标签稳定 - 如果页面混用中英文,可在局部加
<span lang="en">English</span>
练手时 <meta name="viewport"> 能省吗?
不能省,哪怕你只在桌面浏览器预览。现代 CSS 布局(比如 rem、vh 单位)依赖 viewport 设置,否则缩放错乱、媒体查询失效。
立即学习“前端免费学习笔记(深入)”;
- 标准写法是
<meta name="viewport" content="width=device-width, initial-scale=1.0"> - 别漏掉
initial-scale=1.0,否则 iOS Safari 默认放大 1.07 倍,练手时看着总“不对劲” - 不需要加
user-scalable=no—— 这是移动端禁缩放,练手阶段反而阻碍调试
头部框架里最容易被忽略的是 charset 和 viewport 的顺序:必须先 <meta charset="UTF-8">,再 <meta name="viewport">,否则后者可能被忽略。练手代码不是玩具,每行都在教浏览器怎么读你写的字。



















