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

HTML文档必须以 开头
浏览器看到这行才启用标准模式渲染;漏掉或写成 、<code> 会导致怪异模式(Quirks Mode),表单控件错位、盒模型计算异常、Flex 布局失效等问题全都会冒出来。
它不是 HTML 标签,不区分大小写但惯例全大写加空格,且必须独占第一行——前面不能有任何字符(包括空格、BOM、注释)。
- 常见错误:
<!-- 注释 --> → 触发怪异模式 - 验证方式:打开 Chrome DevTools → Elements 面板顶部会显示 “Rendered in Standards Mode” 或 “Quirks Mode”
- 不用记历史版本(如 XHTML 声明),2026 年所有现代项目只用
是唯一根元素,lang 属性不能省
下只能直接包含 和 ,多一个 <div>、少一个闭合标签、把 <code><script></script> 放到 外面,都会被浏览器自动修复(reparse),但 DOM 树结构已变,可能影响 CSS 选择器匹配或 JS 查询结果。
lang 属性不只是给 SEO 看的:屏幕阅读器靠它切换语音引擎,翻译插件靠它判断源语言,CSS 的 :lang() 伪类也依赖它。中文页面务必写 ,别用 zh 或空值。
立即学习“前端免费学习笔记(深入)”;
- 错误写法:
、、(无 lang) - 检查方法:在 DevTools 的 Elements 面板点选
,看右侧 Computed 栏的language值是否为zh-CN - 注意:子元素可覆盖,比如
<section lang="en">…</section>,不影响全局
里只有元信息, 才放真实内容
不渲染任何可见内容,但它决定页面怎么加载、怎么被理解。漏掉 <meta charset="UTF-8"> 就会乱码;没写 <meta name="viewport" content="width=device-width">,移动端页面会缩成一团;<title></title> 缺失则浏览器标签页显示空白或文件名。
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
是唯一合法的内容容器,所有用户看得见的东西——文字、图片、按钮、表单——都得在这里。把 <h1></h1> 写进 ,浏览器不会报错,但语义丢失,SEO 权重归零,无障碍工具直接跳过。
- 必须项:
<meta charset="UTF-8">(位置不限,但建议紧贴开头)、<title></title>、<meta name="viewport"> - 禁止项:
<div>、<code><p></p>、<img alt="如何快速理解HTML文档模型 HTML结构深度学习【要点】" >、<script></script>(除非是内联配置脚本) - 性能提示:CSS
<link>放,JS<script></script>默认阻塞解析,建议加defer或移至前 - 调试建议:F12 → Elements → 点击任意元素,右键 “Reveal in Elements panel”,确认它在树中的真实位置
- 常见陷阱:以为
<footer></footer>自动贴底,其实它只是个语义容器,定位靠 CSS,不是 DOM 位置 - 记住:DOM 结构决定可访问性层级、键盘 Tab 顺序、焦点管理逻辑,比“看起来像不像”重要得多
DOM 树结构比视觉呈现更关键
浏览器解析 HTML 时,先生成 DOM 树,再计算样式、布局、绘制。你写的嵌套关系直接变成父子/兄弟节点——<header></header> 是 的子节点,<nav></nav> 是 <header></header> 的子节点,它们之间没有“并列”概念,只有树形路径。
这意味着:用 CSS 选中 header nav 和 header > nav 效果完全不同;JS 用 document.querySelector('main') 能取到,但若手误写成 document.querySelector('main section') 却找不到——因为 <section></section> 其实不在 <main></main> 里,而是平级。
DOM 树一旦生成就固定了,后续 JS 修改的是这棵树的副本,而不是原始 HTML 字符串。所以动态插入内容后,如果忘了更新 ARIA 属性或焦点状态,屏幕阅读器根本感知不到变化——这是最常被忽略的深层耦合点。


















