HTML中的单行注释

asl*_*lum 65 html comments

有没有办法在行开头使用转义序列在HTML中注释掉一行?与使用#//其他语言类似?或者是<!-- ... -->在HTML中评论的唯一选择?

dig*_*mer 71

来自http://htmlhelp.com/reference/wilbur/misc/comment.html

由于HTML是官方的SGML应用程序,因此HTML文档中使用的注释语法实际上是SGML注释语法.不幸的是,这种语法起初有点不清楚.

SGML评论的定义基本如下:

一个注释声明开头__CODE__,后跟零个或更多的评论,其次是 __CODE__.一个注释 开始,以"结束__CODE__",并且不包含任何出现" __CODE__".
这意味着以下是所有合法的SGML评论:
  1. __CODE__
  2. __CODE__
  3. __CODE__
  4. __CODE__
  5. __CODE__
请注意,只有" __CODE__"字符的"空"注释标记应始终具有四个" __CODE__"字符的倍数才是合法的.(是的, __CODE__也是一个法律评论 - 这是空洞的评论).

并非所有HTML解析器都能做到这一点.例如," __CODE__"是合法评论,因为您可以使用上述规则进行验证.这是一个带有两条评论的评论标签; 第一个是空的,第二个包含">你好".如果您在浏览器中尝试它,您会发现文本显示在屏幕上.

这有两个可能的原因:

  1. 浏览器看到">"字符并认为评论在那里结束.
  2. 浏览器看到" __CODE__"文本并认为评论在那里结束.
" __CODE__"序列也存在问题.有些人习惯使用" __CODE__"作为分隔符来源.不幸的是,在大多数情况下," __CODE__"字符的数量不是四的倍数.这意味着试图 使其正确的浏览器实际上会 在这里弄错并实际隐藏文档的其余部分.

因此,请使用以下简单规则来撰写有效和已接受的注释:

HTML注释以" __CODE__" 开头,以" "结尾,__CODE__并且在注释中的任何位置都不包含" __CODE__"或" __CODE__".

  • 有意思,我从来不知道`<!>`是一个有效的评论.为了兼容性,我会避免这样的事情 (5认同)
  • AFAIK HTML5已经从SGML注释语法中移除,因为它不再基于SGML. (2认同)
  • 反对实际上没有解决问题,而是提供了一堆无关的细节。 (2认同)
  • @aslum **这并不能回答问题。完全没有。** (2认同)

Mat*_*nen 30

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

  • 这应该是这个问题的唯一答案...... (2认同)

Ahm*_*ais 8

让我们保持简单.喜欢@digitaldreamer的回答,但它可能让初学者感到困惑.所以,我将尝试简化它.

唯一的HTML注释是<!-- -->它可以用作单行注释或double,它完全取决于开发人员.

因此,HTML注释以...开头<!--并结束-->.真的很简单.您不应使用任何其他格式,以避免任何兼容性问题,即使评论格式是合法的.


Kyl*_*ons 5

不,你必须用 - >关闭评论.