一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

HTML怎么写注释_html注释的正确写法与注意事项【建议收藏】

时间:2026-07-19 10:56:00 编辑:袖梨 来源:一聚教程网

<p>HTML注释唯一合法形式是<!-- -->,天然支持跨行但禁止嵌套、禁用--和-->组合,不可出现在标签内部或DOCTYPE前,仅对HTML解析器生效。</p>

HTML注释只能用 <!-- -->,没有单行或多行之分

HTML 没有 // 或 /* */ 这类语法,<!-- --> 是唯一合法形式。它天然支持跨行,所谓“多行注释”只是把换行符写在 <!----> 之间而已,浏览器不关心里面有没有回车或缩进。

常见错误现象:VS Code 里按 Ctrl+/ 自动加的注释变成每行都套一层 <!---->,结果生成一堆嵌套或断裂的注释,直接破坏结构。

  • ✅ 正确:<!-- 导航栏开始 -->
  • ✅ 正确(跨行):<!-- 用户登录表单 包含邮箱、密码、记住我选项 -->
  • ❌ 错误:<!-- 注释开始 <!-- 嵌套 --> -->(嵌套不被识别,第二个 <!-- 变成普通文本)
  • ❌ 错误:<!-- 这里用了--双横线 -->-- 出现在中间,解析器会在第一个 -- 处提前闭合)

注释不能出现在 <script> 或 <style> 标签内部

<script> 里写 <!-- 不是注释 JS 代码,而是告诉 HTML 解析器:“从这儿开始一段 HTML 注释”。JS 引擎根本不管它,反而可能因语法错乱报 Uncaught SyntaxError: Unexpected token '('

使用场景很明确:HTML 注释只对 HTML 解析器生效,JS/CSS 引擎完全无视。临时屏蔽整段脚本?应该用 <!-- 包裹整个 <script>...;想注释 JS 逻辑?必须用 ///* */

立即学习“前端免费学习笔记(深入)”;

  • ✅ 正确(屏蔽整个 script 块):<!-- <script>console.log("test");</script> -->
  • ✅ 正确(JS 内部注释):<script>// 这才是 JS 注释</script>
  • ❌ 错误:<script><!-- console.log("test"); --></script>(HTML 解析器认为注释从 <!-- 开始,但没闭合,后续 JS 被当作文本渲染)
  • ⚠️ 注意:<style> 同理,CSS 注释必须用 /* */<!-- 在里面会失效甚至触发解析异常

注释里不能出现 -- 或 > 字符序列

-- 是注释结束的触发信号,只要 HTML 解析器在 <!-- 后看到连续两个短横线,就会立刻终止注释——哪怕后面还跟着 -->。同理,--> 组合一旦出现,也会被当作结束标记处理,导致注释提前收口,后面内容裸露。

这不是编辑器高亮问题,是真实解析行为。页面突然空白、DOM 结构错乱、某些标签消失,大概率是这个原因。

  • ❌ 错误:<!-- 当前版本:v2.1--beta -->--beta 中的 -- 提前结束注释)
  • ❌ 错误:<!-- 这里写了 > 符号 -->> 单独出现没问题,但若前面紧挨着 --,如 -->,就危险)
  • ✅ 替代写法:<!-- 当前版本:v2.1—beta -->(用长破折号 替代 --
  • ✅ 替代写法:<!-- 这里写了 > 符号 -->(用实体 > 编码,虽非必需,但最保险)

注释位置有硬性限制,别往标签里塞

HTML 注释不能插在标签内部、属性值中、DOCTYPE 前,也不能打断 CDATA 上下文。看似只是“加点说明”,但位置错了等于删代码——比如把 <!-- 放在 <div class="x"> 的引号中间,属性值会被截断,整个标签解析失败。

性能上它不影响渲染,但体积大了会拖慢首屏加载。构建时建议用 html-minifier 等工具自动移除调试用注释,注意别误删版权或生成标记这类关键注释。

  • ❌ 错误:<div class="<!-- test -->x">(注释在属性值中,引号提前闭合)
  • ❌ 错误:<!-- <!DOCTYPE html> -->(注释在 DOCTYPE 前,某些旧版 IE 会触发怪异模式)
  • ❌ 错误:<div><!-- <p>内容</p> --></div>(看起来没问题,但如果 <p> 里本身含 -- 或未转义 <,就可能出事)
  • ✅ 安全做法:注释单独成行,包裹完整区块,前后留空行,缩进与上下代码对齐

实际写注释时,最容易被忽略的是:它不是“写给人看的便签”,而是 HTML 语法的一部分,受解析器严格约束。一个 --、一个错位的 >、一段没闭合的 <!--,都可能让整页结构塌掉。

热门栏目