HTML 中的单行注释

新手上路,请多包涵

有没有办法在行的开头使用转义序列来注释掉 HTML 中的单行?

类似于在其他语言中使用 #// 吗?或者 <!-- ... --> 是在 HTML 中评论的唯一选项?

原文由 aslum 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 428
2 个回答

来自 _HTML 评论_:

由于 HTML 正式是一种 SGML 应用,因此 HTML 文档中使用的注释语法实际上是 SGML 注释语法。不幸的是,这个语法一开始有点不清楚。

SGML 注释的定义基本上如下:

注释声明<! ,后跟零个或多个评论,然后是 >注释 以“ -- ”开头和结尾,并且不包含任何“ -- ”。

这意味着以下都是合法的 SGML 注释:

  1. <!-- Hello -->
  2. <!-- Hello -- -- Hello-->
  3. <!---->
  4. <!------ Hello -->
  5. <!>

请注意,只有“ -- ”字符的“空”注释标签应始终具有四个“ - ”字符的倍数才是合法的。 (是的, <!> 也是一个合法的注释——它是空注释)。

并不是所有的 HTML 解析器都能正确地做到这一点。例如,“ <!------> hello--> ”是一个合法的评论,你可以用上面的规则来验证。它是一个带有两条评论的评论标签;第一个是空的,第二个包含“> hello”。如果您在浏览器中尝试,您会发现文本显示在屏幕上。

这有两个可能的原因:

  1. 浏览器看到“>”字符并认为注释到此结束。
  2. 浏览器看到“ --> ”文本并认为注释到此结束。

-- ”序列也有问题。有些人习惯于在他们的源代码中使用诸如“ <!--------------> ”之类的东西作为分隔符。不幸的是,在大多数情况下,“ - ”字符的数量不是四的倍数。这意味着 试图 让它正确的浏览器实际上会在这里 弄错 并隐藏文档的其余部分。

因此,请使用以下简单规则来撰写有效且被接受的评论:

HTML 注释以“ <!-- ”开头,以“ --> ”结尾,并且注释中的任何地方都不包含“ -- ”或“ > ”。

原文由 digitaldreamer 发布,翻译遵循 CC BY-SA 4.0 许可协议

不, <!-- ... --> 是 HTML 中唯一的注释语法。

原文由 Matti Virkkunen 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏