我们还需要HTML5中的结尾斜杠吗?

我们还需要HTML5中的结尾斜杠吗?,html,xhtml,Html,Xhtml,在HTML5中,我们还需要像XHTML一样的结束斜杠吗 <img src="some_image.png" /> 如果我掉了它,validator.w3.org没有抱怨,甚至没有警告。但一些在线文档似乎表明,img、link、meta、br等标记仍然需要结束斜杠。否。HTML从来都不需要它,甚至在HTML5之前。如果您计划将XHTML与HTML功能结合使用,那么是的,这是必要的。img标记是无效元素,因此不需要结束标记 空洞元素 区域、基础、br、col、命令、嵌入、hr、im

在HTML5中,我们还需要像XHTML一样的结束斜杠吗

<img src="some_image.png" />


如果我掉了它,validator.w3.org没有抱怨,甚至没有警告。但一些在线文档似乎表明,img、link、meta、br等标记仍然需要结束斜杠。

否。HTML从来都不需要它,甚至在HTML5之前。如果您计划将XHTML与HTML功能结合使用,那么是的,这是必要的。

img
标记是无效元素,因此不需要结束标记

空洞元素 区域、基础、br、col、命令、嵌入、hr、img、输入、密钥生成、链接、元、参数、源、跟踪、wbr

Void元素只有一个开始标记;不得为空心图元指定结束标记

|


也就是说,它在HTML5中不是严格的解析,所以不会造成任何重大危害

根据需要,它们是可选的。

在HTML 5中,对无效元素(如
img
)使用结束斜杠是可选的(我之所以添加此选项,是因为当前接受的答案只说:“不能为无效元素指定结束标记”,并且不能处理无效元素中的结束斜杠)

引用自(第6号):

然后,如果该元素是一个void元素,或者该元素是一个外来元素,则可能有一个“/”(U+002F)字符。此字符对无效元素没有影响,但对外来元素,它将开始标记标记为自动关闭


空心图元的结束斜杠是可选的

两者都是有效的HTML5:

<img src="some_image.png" />


无效元素包括:

  • 区域
  • base
  • br
  • col
  • 嵌入
  • hr

  • img
    还有吗?HTML的任何版本都需要关闭所有标记吗?@Gabe XHTML 1.0需要它。我的意思是,网页通常可以正常加载,但它被认为是无效的。是的,但X不只是因为X很酷,HTML和XHTML之间有很大的差距。@Capt:你是对的,但只有当你的doctype表明XHTML.XHTML与HTML5不同时,这才应该是一个问题,对吗?如果我的DOCTYPE只是“html”,我不需要后面的斜杠,对吗?@CaptSaltyJack-HTML5涵盖普通html和XHTML。XHTML要求关闭所有元素,但对于浏览器,doctype对这种情况没有影响。要获得更全面的解释,请参见好奇,因为如果我键入“”并按enter键,我的编辑器(Komodo)将缩进。它需要HTML5模式下的尾随斜杠,我想确保这是正确的行为。这是HTML,不是XHTML,所以它不是必需的。幸运的是,解析器仍然可以很好地理解XHTML样式的结束斜杠,因此将其保留在那里没有什么害处。如果出于任何原因需要,这意味着更容易向后转换为XHTML。@自由基:结尾斜杠对于void元素是可选的,但是结束标记将无效。而问题是关于结束斜杠(例如,
    @freeractive是正确的。这个答案在技术上是不正确的,因为它混淆了
    结尾斜杠
    结尾标记
    ,从而误解了它引用的规范段落。这导致了@YannisDran的混淆。@minitech正确地说明了什么是正确的。这不是HTML5。实际上,在早期版本中HTML

    是错误的。@j.j.我引用了HTML5文档,所以我不明白为什么不认为它不是HTML5。事实上,在其他版本中,这样的斜杠都是错误的。当然,我的意思是“我们还需要HTML5中的结束斜杠吗?”这是一个错误的问题。也许有一天我会写一个完整的答案,并附上一些他的理论链接。IIRC对于伊恩·希克森(HTML编辑器)来说,在HTML5中允许后面的斜杠是一个艰难的决定。
    <img src="some_image.png">