必须写且仅一次、位于首行,它不是标签而是文档类型声明,缺省或错误将触发怪异模式,导致css盒模型、js行为异常;的lang属性不可省略,否则影响屏幕阅读器发音和seo多语言索引;中硬性要求、及;所有可见内容必须严格置于内。

必须写,且只能写一次,放在第一行——它不是标签,是文档类型声明,缺了它,浏览器会进怪异模式,CSS 和 JS 行为可能全乱。
为什么 标签的 lang 属性不能省略
屏幕阅读器依赖 lang 判断发音规则,搜索引擎用它优化多语言索引。不写或写错(比如 lang="en" 却页面全是中文),会导致语音朗读生硬、SEO 降权。常见写法:lang="zh-CN"(简体中文)、lang="ja"(日文)、lang="en-US"(美式英语)。
里哪些 <meta> 是硬性要求
现代网页至少要包含三项:
-
<meta charset="UTF-8">:指定字符编码,缺了中文会变方块或乱码 -
<meta name="viewport" content="width=device-width, initial-scale=1.0">:移动端适配基础,没它,手机上页面会缩成一团 -
<title></title>:虽然不是<meta>,但必须有——它定义浏览器标签页显示的文字,也影响 SEO 标题权重
外面不能塞任何可见内容
所有用户能看见、能交互的元素(<h1></h1>、<p></p>、<img>、<button></button> 等)必须严格放在 内部。常见错误包括:
- 把
<script></script>或<style></style>直接写在和之间 - 误以为
<header></header>或<main></main>能替代的包裹作用 - 在
之后再写<div> ——这部分会被浏览器自动移到 <code>末尾,但语义已毁,DOM 操作可能出错结构不是装饰,是浏览器解析和辅助技术依赖的契约。哪怕只少一个
<meta charset>,或者lang值写成"zh"(非标准),都可能让某个用户群体完全无法正常使用页面。











