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

时间:2011-09-09 19:09:06

标签: html5 xhtml

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

<img src="some_image.png" />

validator.w3.org如果放弃它就没有抱怨,甚至没有警告。但是一些在线文档似乎表明,对于标签,例如img,link,meta,br等,仍然需要结束斜杠。

6 个答案:

答案 0 :(得分:83)

在HTML 5中,关闭斜杠是可选在void元素img上(我添加了这个,因为当前接受的答案只说:“不能为void指定结束标记元素“,并没有解决void元素中的闭包斜杠。”

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

  

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

答案 1 :(得分:79)

img标签是Void Elements,因此它们不需要结束标记。

  

无效元素   area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr

...

  

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

W3C | WHATWG

据说这不是HTML5中的严格解析所以它不会造成任何重大伤害。

答案 2 :(得分:2)

不。即使在HTML5之前,HTML也从未要求它。如果您计划将XHTML与HTML功能一起使用,那么是的,这是必要的。

答案 3 :(得分:2)

根据Start Tags,它们是可选的。

答案 4 :(得分:2)

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

除了有趣:

无效元素不能包含任何内容(由于没有结束标签,因此不能在开始标签和结束标签之间放置任何内容)。

更多详细信息,请访问:https://html.spec.whatwg.org/multipage/syntax.html#elements-2


另请参阅以下SO问题:
Self-closing tags (void elements) in HTML5

答案 5 :(得分:-1)

FROM W3C:

Void元素:area,base,br,col,embed,hr,img,input,keygen,link,meta,param,source,track,wbr

&#34; Void元素只有一个开始标记;不得为void元素指定结束标记。&#34;

http://www.w3.org/TR/html5/syntax.html#void-elements