HTML文档必须以开头且独占第一行,否则触发怪异模式;为唯一根元素,须带lang="zh-CN";仅含元信息,承载所有可见内容;DOM树结构决定样式、脚本、无障碍等行为。

HTML文档必须以 开头
浏览器看到这行才启用标准模式渲染;漏掉或写成 、 会导致怪异模式(Quirks Mode),表单控件错位、盒模型计算异常、Flex 布局失效等问题全都会冒出来。
它不是 HTML 标签,不区分大小写但惯例全大写加空格,且必须独占第一行——前面不能有任何字符(包括空格、BOM、注释)。
- 常见错误:
→ 触发怪异模式 - 验证方式:打开 Chrome DevTools → Elements 面板顶部会显示 “Rendered in Standards Mode” 或 “Quirks Mode”
- 不用记历史版本(如 XHTML 声明),2026 年所有现代项目只用
是唯一根元素,lang 属性不能省
浏览器解析 HTML 时,先生成 DOM 树,再计算样式、布局、绘制。你写的嵌套关系直接变成父子/兄弟节点—— 这意味着:用 CSS 选中 DOM 树一旦生成就固定了,后续 JS 修改的是这棵树的副本,而不是原始 HTML 字符串。所以动态插入内容后,如果忘了更新 ARIA 属性或焦点状态,屏幕阅读器根本感知不到变化——这是最常被忽略的深层耦合点。 下只能直接包含 和 ,多一个 <script></script> 放到 外面,都会被浏览器自动修复(reparse),但 DOM 树结构已变,可能影响 CSS 选择器匹配或 JS 查询结果。lang 属性不只是给 SEO 看的:屏幕阅读器靠它切换语音引擎,翻译插件靠它判断源语言,CSS 的 :lang() 伪类也依赖它。中文页面务必写 ,别用 zh 或空值。
、、(无 lang),看右侧 Computed 栏的 language 值是否为 zh-CN
,不影响全局
里只有元信息, 才放真实内容 不渲染任何可见内容,但它决定页面怎么加载、怎么被理解。漏掉 就会乱码;没写 ,移动端页面会缩成一团; 缺失则浏览器标签页显示空白或文件名。 是唯一合法的内容容器,所有用户看得见的东西——文字、图片、按钮、表单——都得在这里。把 写进 ,浏览器不会报错,但语义丢失,SEO 权重归零,无障碍工具直接跳过。
(位置不限,但建议紧贴 开头)、、
、、<script></script>(除非是内联配置脚本) 放 ,JS <script></script> 默认阻塞解析,建议加 defer 或移至 前DOM 树结构比视觉呈现更关键
是 的子节点, 是 的子节点,它们之间没有“并列”概念,只有树形路径。header nav 和 header > nav 效果完全不同;JS 用 document.querySelector('main') 能取到,但若手误写成 document.querySelector('main section') 却找不到——因为 其实不在 里,而是平级。
自动贴底,其实它只是个语义容器,定位靠 CSS,不是 DOM 位置
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











