<p>HTML注释正确写法是<!-- 注释内容 -->,必须以<!--开头、-->结尾,禁止嵌套、禁用JS/CSS语法,浏览器完全忽略;常见错误包括漏写符号、误放位置及滥用注释替代逻辑控制。</p>

HTML注释的正确写法是 <!-- 注释内容 -->
HTML注释必须用 <!-- 开头、--> 结尾,中间不能出现 -- 或 >,否则会提前终止或引发解析错误。浏览器完全忽略注释内容,既不渲染也不执行。
常见错误包括:
- 误写成
<!-- 注释 --(漏掉末尾>),导致后续 HTML 被整段当成注释 - 在注释里嵌套注释,比如
<!-- <!-- 内层 --> 外层 -->,HTML 不支持嵌套,第二个-->才算结束 - 用
//或/* */(这是 JS/CSS 的写法),浏览器会当作普通文本显示出来
注释可以放在 HTML 任意位置,但有几处要特别小心
注释能出现在文档任何地方:标签之间、标签内部(只要不在属性值里)、DOCTYPE 前后,甚至 script 标签内(但注意 script 类型是 text/html 时才按 HTML 解析)。
容易出问题的位置:
立即学习“前端免费学习笔记(深入)”;
-
<!DOCTYPE html>前面加注释——合法,但某些旧版 IE 可能触发怪异模式,建议避免 - 在
<script>或<style>标签内部直接写<!-- ... -->——如果脚本是内联且类型为text/javascript,这些注释会被当成 JS 代码执行,报错Unexpected token '<' - 在属性值中写注释,如
<div title="<!-- 这不是注释 -->">——这纯属字符串,不是注释
多行注释和缩进不影响解析,但影响可读性
HTML 注释天然支持跨行,换行、空格、缩进全被忽略。你可以这样写:
<!-- 这是一个组件说明 作者:张三 最后更新:2024-05-20 -->
但要注意:编辑器自动缩进可能让注释看起来像嵌套在某个标签里,实际它只是“漂浮”在结构中,不改变 DOM 层级。团队协作时建议统一缩进风格,避免误删或误移注释块。
别把注释当文档生成器,也别注释掉大段未完成代码
HTML 注释不会被工具自动提取成 API 文档(不像 JSDoc 或 Python docstring)。如果需要生成文档,应另配专门工具(如 Storybook、Docz)。
临时禁用代码时,有人习惯用注释包住整段 HTML:
<!-- <header><h1>标题</h1></header> -->
这样做短期可行,但长期维护风险高:注释块容易被遗忘、与上下文脱节、diff 差异难识别。更稳妥的方式是用条件 class 或 JS 控制显隐,或直接删掉再用版本控制找回。
真正该注释的是「为什么这么写」,而不是「这是什么」。比如:<!-- 为兼容 Safari 15.4 的 flex wrap bug,此处额外包裹一层 div --> 这类信息,比 <!-- 这是头部 --> 有用得多。



















