【问题标题】:Do we still need the space before the slash in <hr /> and others? [duplicate]我们还需要 <hr /> 等斜线之前的空格吗? [复制]
【发布时间】:2011-03-22 22:41:56
【问题描述】:

可能重复:
Space Before Closing Slash?

嗨,

如果我没记错的话,我们一开始就有它,因为如果我们不添加空格,一些旧版本的 Netscape 会阻塞(它会认为节点永远不会结束)。

但是今天真的有必要吗?

【问题讨论】:

标签: html


【解决方案1】:

根据HTML5 规范,void elements 不需要自闭合/ 字符。

他们的确切措辞是

那么,如果元素是 无效元素,或者如果元素是 外来元素,那么可能有 单个 U+002F SOLIDUS 字符 (/)。 这个角色对虚空没有影响 元素,但在外来元素上 将开始标签标记为自动关闭。

他们将 void 元素列为area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr

我可能理解错了,但似乎以下内容都适用于 html5

<hr>
<hr/>
<hr />

看来这真的取决于您使用的文档类型

【讨论】:

  • 啊,虚元素。。我本来想查一会,但我有点懒,用了“和其他”。感谢您的知识++。 :-) 当然也感谢其他信息!
【解决方案2】:

如果您使用正确的 content-type: application/xhtml+xml 标头提供有效的 XML,那么不会。如果你服务于XHTML as HTML,那么你就是should have it there,尽管现在大多数浏览器都可以处理一些非常糟糕的代码,所以只有你重视正确的标记才是关键。

【讨论】:

    【解决方案3】:

    非常怀疑。现代浏览器在处理此类问题时变得非常强大。

    很长一段时间以来,我从来没有费心自己插入那个额外的空间。坦率地说,我什至不使用 XHTML,所以我坚持使用 &lt;br&gt; 而没有自动关闭 :)

    【讨论】:

    • 嘘。我发现如果你不使用 XHTML,那么你最终会在你不期望的时候被烧毁。最好养成关闭一切的习惯。
    • 供您参考,&lt;hr&gt;&lt;hr/&gt;&lt;hr /&gt; 都是有效的 HTML5。
    • @Randy 我不同意。虽然 HTML 在技术上允许更多不整洁的代码,但这并不意味着我必须编写不整洁的代码;)我曾经使用 XHTML,因为“每个人都说它很棒”。然而,过了一段时间 - 大多数使用它的人甚至不知道它与普通的 HTML 4.01 严格之间的真正区别。在 99.99% 的情况下,XHTML 对编写良好的 HTML 没有任何影响。判断实现,而不是使用的工具。 :)
    • @Geert 是的,我知道,但我刚刚习惯了在不关闭它的情况下编写它,我对此很好。它做同样的工作,它验证得一样好,而且恕我直言,更干净。
    • 这确实不能回答问题。 &lt;hr/&gt; 在 XHTML 中没有给出任何验证警告,并且概括“现代浏览器”也没有提供有用的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 2020-08-22
    • 1970-01-01
    • 2011-11-14
    • 2015-10-24
    相关资源
    最近更新 更多