在关闭 HTML5中的 void 元素时,我们还需要正斜杠吗?

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

<img src="some_image.png" />

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

53476 次浏览

没有。HTML 从来不需要它,甚至在 HTML5之前也是如此。如果您计划将 XHTML 与 HTML 特性一起使用,那么是的,这是必要的。

img标记是空元素,因此它们不需要结束标记。

真空元素 Area,base,br,coll,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr

...

Void 元素只有一个开始标记; 不能为 Void 元素指定结束标记。

W3C | 什么

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

根据 开始标签,它们是可选的。

在 HTML 5中,void 元素如 img的结束斜杠是 可以选择(我添加这个是因为当前接受的答案只是说: “不能为 void 元素指定结束标记”,并且没有处理 void 元素中的结束斜杠)。

引自 http://www.w3.org/TR/html5/syntax.html#start-tags(第6名) :

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

Void 元素的结束斜杠是可选的。

两者都是有效的 HTML5:

<img src="some_image.png" />

还有

<img src="some_image.png">

虚元素是:

  • area
  • base
  • br
  • col
  • embed
  • hr
  • img
  • input
  • link
  • meta
  • param
  • source
  • track
  • wbr

除了有趣之外:

Void 元素不能有任何内容(因为没有结束标记,所以在开始标记和结束标记之间不能放置任何内容)。

详情请浏览: https://html.spec.whatwg.org/multipage/syntax.html#elements-2


请参阅这里的 SO 问题:
HTML5中的自闭标记(void 元素)