【问题标题】:html convention - self-close tag, > or />, in other way <br> or <br/>html 约定 - 自关闭标签,> 或 />,以其他方式 <br> 或 <br/>
【发布时间】:2011-05-21 05:13:24
【问题描述】:

当从网上学习一些教程时,我看到很多人打开标签,例如&lt;link ..&gt;&lt;img ..&gt;。但是当我使用 Netbeans 编辑它们(HTML/JSP 页面)时,它会在这些标签上显示红色背景,直到我将斜杠添加到它们中。 &lt;br&gt; --> &lt;br/&gt;.

编写基于 HTML 的代码的正确方法是什么?

【问题讨论】:

标签: html coding-style


【解决方案1】:

两者都适用于 HTML。虽然不适用于作为 XML 方言的 XHTML。

某些元素不需要结束 (/&gt;) 标记 - 特别是空元素(那些没有内容的元素)。例如&lt;hr&gt;&lt;br&gt;。这些可以也可以自动关闭(分别为&lt;hr /&gt;&lt;br /&gt;)。这种自关闭相当于在打开标签之后紧接着有一个关闭标签。

对于 XML,这样的非结束标签是无效的 - 它必须是关闭的,要么是自关闭的,要么有一个结束标签。所以&lt;hr&gt; 不是有效的XML,但&lt;hr /&gt;&lt;hr&gt;&lt;/hr&gt; 是。

HTML 不是 XML,但为了更好的兼容性,一些工具会尝试尽可能多地发出类似于 HTML 的 XML。

【讨论】:

  • 根据您删除的“@Downvoter,需要解释一下吗?”评论,我投了反对票,因为原来的答案是错误的而且没有用。显然你已经发布了它很着急。现在,在您修复它并添加 3 段来重申 Chris 之后,它变得更合理了。我删除了反对票。
  • @BalusC - 很公平。我确实倾向于发布一个快速的答案,然后添加细节,充实它并修复任何不准确之处。
  • 好答案,赞成。不过,可能需要注意的是,&lt;div /&gt; 与 HTML 文档类型中的 &lt;div&gt;&lt;/div&gt; 不同;浏览器可能会将其误读为 &lt;div&gt;,从而破坏文档。
【解决方案2】:

这取决于您使用的是哪个DOCTYPE。如果您使用的是 HTML 4,那么您不应该使用自闭合标签,如果是 XHTML,那么您应该制作有效的 XML,如果是 HTML 5,那么闭合斜杠是可选的,但不是必需的。

如果您尝试在 HTML 4 中使用结束标签,W3C HTML Validator 将引发警告:

序列可以是 至少有两种不同的解释 方式,取决于文件的 DOCTYPE 文档。对于 HTML 4.01 Strict, '/' 终止标签 ')。然而,由于许多 浏览器不会这样解释, 即使存在 HTML 4.01 Strict DOCTYPE,最好避免 完全在纯 HTML 文档和 保留其仅用于那些 用 XHTML 编写。

【讨论】:

    【解决方案3】:

    &gt;HTML 是正确的,但对 XHTML 是不正确的。检查您的 DOCTYPE。

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
    

    HTML strict

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    

    XHTML strict

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多