【问题标题】:single line comment in HTMLHTML中的单行注释
【发布时间】:2011-02-08 02:05:18
【问题描述】:

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

【问题讨论】:

  • TL;DR: No. 仅限<!-- -->

标签: html comments


【解决方案1】:

TL;DR 对于符合标准的浏览器,是的;但是没有符合标准的浏览器,所以没有。

根据 HTML 4 规范,<!------> hello--> 是完全有效的注释。但是,由于开发人员不了解或遵循标准(如 digitaldreamer 指出的那样),我还没有找到正确实现此功能的浏览器(即按照规范)。

您可以在 w3c 的网站上找到 HTML4 注释的定义: http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4

许多浏览器出错的另一件事是-- > 会像--> 一样关闭评论。

【讨论】:

  • 这意味着对于“符合标准的浏览器”,有一种语法可以打开在行尾结束的注释?正确的答案是“对于符合标准的浏览器,没有;但对于实际的浏览器,也没有。”
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    由于 HTML 正式成为 SGML 应用程序,使用的注释语法 在 HTML 文档中实际上是 SGML 注释语法。不幸的是,这 一开始语法有点不清楚。

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

    评论声明开始 使用<!,然后是 零个或多个 cmets,后跟 >。一个评论 开始和结束于 “--”,而不是 包含任何出现的 “--”。
    这 表示以下都是合法的 SGML cmets:
    1. <!-- Hello -->
    2. <!-- Hello -- -- Hello-->
    3. &lt;!----&gt;
    4. <!------ Hello -->
    5. &lt;!&gt;
    请注意,一个“空”的注释标签,带有 只是“--”字符, 应该总是四的倍数 "-" 字符 合法的。 (是的, &lt;!&gt; 也是合法的 评论 - 这是空评论)。

    并非所有的 HTML 解析器都能做到这一点。 例如,“<!------> hello-->”是合法的 评论,你可以用 上面的规则。这是一个评论标签 两个厘米;第一个是空的 第二个包含“>你好”。 如果您在浏览器中尝试,您将 发现文字显示在 屏幕。

    有两种可能 原因:

    1. 该 浏览器看到“>”字符和 认为评论到此为止。
    2. 该 浏览器看到“--&gt;” 发短信并认为评论结束 那里。
    还有 “--”的问题 顺序。有些人有这样的习惯 使用类似的东西 “&lt;!--------------&gt;” 作为其源中的分隔符。 不幸的是,在大多数情况下, “-”字符数 不是四的倍数。这意味着 尝试的浏览器 做对了就会得到它 这里并实际隐藏 文档的其余部分。

    对于 这个原因,使用以下简单 组成有效和接受的规则 厘米:

    一个 HTML 评论以 “&lt;!--”,以 "--&gt;" 并没有 包含“--”或 “&gt;” 评论。

    【讨论】:

    • 有趣,我从来不知道&lt;!&gt; 是一个有效的评论。不过,为了兼容性,我会避免这样的事情
    • AFAIK HTML5 已脱离 SGML 注释语法,因为它不再基于 SGML。
    • 是的,现在 HTML5 cmets 必须以 &lt;!-- 开头,以 --&gt; 结尾,并且文本不能以 &gt;-&gt; 开头,不能包含 -- 并且不能以-。但是有很多规则可以用于解析无效的 cmets 浏览器可以遵守。
    • 投反对票,因为它没有真正解决问题,而是提供了一堆无关紧要的细节。
    • @aslum 这不能回答问题。完全没有。
    【解决方案4】:

    不,&lt;!-- ... --&gt; 是 HTML 中唯一的注释语法。

    【讨论】:

    • 这应该是这个问题的唯一答案.....
    【解决方案5】:

    不,您必须使用 --> 关闭评论。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 2012-03-17
      • 1970-01-01
      • 2013-02-13
      • 2015-02-10
      • 2015-08-06
      • 2014-09-29
      相关资源
      最近更新 更多