HTML文档结构基础:HTML标签的合法闭合规则

风萱酱_6318

风萱酱_6318

2026-06-26

703人浏览

原创

html5中14个void元素(area、base、br、col、embed、hr、img、input、link、meta、param、source、track、wbr)必须不写结束标签或斜杠,如;而、、等非void元素必须显式闭合,否则dom结构错乱、内容丢失或脚本不执行。

html文档结构基础:html标签的合法闭合规则

HTML 标签不是“写得差不多就行”,闭合方式错了一处,DOM 结构就可能歪掉——尤其是 <textarea></textarea>、<script></script>、<select></select> 这类看着像空标签、实则必须显式闭合的元素。

哪些标签根本不能写 或 />

HTML5 明确定义了 14 个 void elements(空元素),语法上禁止出现结束标签或自闭合斜杠。写了就是违反规范,哪怕浏览器容错,工具链也可能出事:

  • <img src="a.jpg"> 正确;<img src="a.jpg"> 是 XHTML 遗留写法,在纯 HTML5 中无必要,且某些模板引擎(如旧版 Vue SFC)会把它当 XML 解析,导致属性截断
  • <input type="text"> 正确;<input type="text"> 或 <input type="text"> 都非法,后者会让后续内容被误包进 <input> 节点里
  • 同理,<meta>、<link>、<hr>、<br>、<source></source> 等都只允许写成单标签形式,不带斜杠也不带结束标签

哪些标签看着空,但必须写

<textarea></textarea>、<select></select>、<script></script>、<style></style>、<p></p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill8272" title="anything-to-html"><img src="https://img.php.cn/upload/skill/000/000/081/179195588450431.jpg" alt="anything-to-html" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill8272" title="anything-to-html" class="overflowclass">anything-to-html</a> <p class="overflowclass">将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。</p> </div> <a rel="nofollow" href="/xiazai/skill8272" title="anything-to-html" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>、<div> 这些都不是 void elements,它们的内容(文本、子节点、JS/CSS 代码)语义关键,靠开始与结束标签界定边界: <ul> <li> <code><textarea>默认值</textarea> → DOM 的 .value 初始为 "默认值";写成 <textarea></textarea> → .value 永远是空字符串,placeholder 也不生效

  • <select><option value="a">A</option></select> 才能渲染选项;<select></select> 会让所有 <option></option> 被丢弃或解析失败
  • <script>console.log(1)</script> 可执行;<script></script> 会导致 JS 完全不加载
  • 为什么 <img src="x"> 不报错,但还是得改

    浏览器解析器对错误宽容,<img src="x"> 会被当作 <img src="x"> 处理,斜杠被忽略——这不是“支持”,是容错。真正风险在开发流程中:

    • ESLint + eslint-plugin-html 可能报 void-element-with-closing-tag 错误
    • 某些静态站点生成器(如早期 Hugo 模板)把 /> 当 XML 结束信号,导致 HTML 片段错位
    • VS Code 的 Emmet 默认展开为 <img src="">,如果插件配置成输出 />,建议关掉或重配

    DOCTYPE 和根结构不闭合,后果比单个标签更严重

    必须是文档第一行;<code> 必须包裹整个文档,且必须有对应 ; 和 同样不可省略闭合标签:

    • 漏掉 或 ,浏览器会自动补全,但补全逻辑不可控——比如 <script></script> 可能被塞进 末尾,而你本意是在 底部执行
    • 里的 <meta charset="utf-8"> 必须写成完整单标签,不能写 <meta charset="utf-8">(虽容错,但不符合 HTML5 void element 规范)
    • 所有标签统一用小写,这是 W3C 自 HTML4 起的强制推荐,现代工具链(如 Prettier)默认按此格式化

    最常被忽略的不是“要不要闭合”,而是“为什么这个标签非得闭合”——<textarea></textarea> 里那行默认文本、<script></script> 里那句 console.log,都依赖标签边界存在。写错一次,调试时可能绕半天才意识到是 DOM 结构本身歪了。

    前端入门到VUE实战笔记:立即使用
    在学习笔记中,你将探索 前端 的入门与实战技巧!

    相关文章

    HTML速学教程(入门课程)
    HTML速学教程(入门课程)

    HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    html

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    html版权符号
    html版权符号

    html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

    2023.06.14

    6395

    7

    html在线编辑器
    html在线编辑器

    html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

    2023.06.21

    3572

    4

    html网页制作
    html网页制作

    html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

    2023.07.31

    3250

    5

    html空格
    html空格

    html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

    2023.08.01

    3259

    5

    html是什么
    html是什么

    HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

    2023.08.11

    4959

    6

    html字体大小怎么设置
    html字体大小怎么设置

    在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

    2023.08.11

    3201

    3

    html转txt
    html转txt

    html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

    2023.08.31

    3009

    3

    html文本框代码怎么写
    html文本框代码怎么写

    html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

    2023.09.01

    2648

    6

    HTML嵌入CSS样式的方法
    HTML嵌入CSS样式的方法

    HTML嵌入CSS样式的方法有内联样式、内部样式表和外部样式表。本专题为大家提供CSS样式相关的文章、下载、课程内容,供大家免费下载体验。

    2023.09.20

    2728

    5

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    GDB 17.2 官方文档集合
    GDB 17.2 官方文档集合

    共0课时 | 0人学习

    Bootstrap 入门安装配置
    Bootstrap 入门安装配置

    共0课时 | 0人学习

    38+ PhpStorm 提示和技巧
    38+ PhpStorm 提示和技巧

    共1课时 | 224人学习