HTML注释语法从HTML4到HTML5完全一致且兼容IE6+,但注释内禁用--;script/style内禁用HTML注释;条件注释是IE私有语法,HTML5不支持。

HTML 注释语法从 HTML4 到 HTML5 完全没变
能用,而且写法一模一样。HTML 的注释语法是 SGML 遗留下来的通用格式,并非 HTML4 或 HTML5 特有,所以 在两者中都完全合法、被所有浏览器支持,包括 IE6+。
注释里不能出现 -- 连续两个短横线
这是最容易踩的坑:只要注释内容里出现 --(比如误写成 ),整个注释会提前终止,后续内容可能被当成普通文本或引发解析错误。
常见错误场景:
- 复制粘贴带双短横的英文破折号(如 em dash —)但被误转为
-- - 在注释里写正则表达式或命令行参数(如
grep -v --invert-match)时未转义 - 用自动化工具生成 HTML 时未过滤掉源数据中的
--
HTML5 不允许注释出现在 或 内部
这不是注释语法变了,而是解析规则更严格了。在 HTML4 中,有人会这样写:
立即学习“前端免费学习笔记(深入)”;
这种“伪装成注释”的 JS 写法,在 HTML5 中已被废弃。现代浏览器仍兼容,但 在 内部不再被当作 HTML 注释处理,而是原样传给 JS 引擎——而 JS 引擎不认识










