我需要在<img>或<br>标签等的末尾加上"/"吗?

Mar*_*Rob 56 html html5 image

你需要/img标签的末尾有一个吗?我在W3schools.com上看到一个例子没有/:

<img src="smiley.gif" alt="Smiley face" height="42" width="42">
Run Code Online (Sandbox Code Playgroud)

我知道没有必要自动关闭标签,至少在我的浏览器中,但我应该这样做吗?

Dan*_*ett 81

/只需要XHTML和XML.

如果您使用的是HTML5 doctype,则无需以这种方式终止自动关闭标记.

这适用于<img src="img.png" />,<br />,<hr />等.

即使用<img src="img.png">,<br><hr>.

如果你需要一个空元素(比如a div),请不要使用<div />,而是使用<div></div>.这很重要,因为在HTML5中,斜杠被忽略并被<div />解释为<div>没有结束标记.

  • 对于HTML5,你*可以*用[/`结尾[void elements](http://w3c.github.io/html-reference/syntax.html#void-element)或省略它.两种形式都有效.但是,你*不得*为它们使用诸如`</ img>`之类的结束标记. (9认同)

Nie*_*sol 12

它只是XHTML标准所必需的,如其他答案中所述.但是,它还有另一种用途.

某些代码编辑器(如Notepad ++)允许您扩展/折叠标记以便更快地查看.但是,如果你只是说<img>,如何知道不需要结束标记的标记与使用相同标记名称的标记之间的区别(即XML格式)?如果您使用自定义标记,则尤其如此.

因此,使用/>明确地告诉编辑器它是自动关闭的,允许它继续正常工作并且不会让它警告你标签不匹配.

  • 根据这个问题http://stackoverflow.com/questions/3558119/are-self-closing-tags-valid-in-html5,我不建议只在HTML5文档类型的页面上单击"/" ,只是为了它:"在HTML 5中,<foo />意味着<foo>.对于沉迷于XML的人来说,斜杠只是语法糖.语法有效,但它不是"自我关闭区别很重要,因为(至少在HTML语法中)<div />表示HTML 5中的<div>,而不是像XHTML中那样<div> </ div>." (10认同)

Juk*_*ela 5

除了有效性问题,它只取决于你要验证的doctype,只有当你的页面提供XML内容类型时,斜杠才真正重要,例如application/xhtml+xml(很少使用,因为旧版本的IE会阻塞它) .

如果你这样做,那么良构性错误处理是严厉的:任何错误(例如没有匹配结束标记的开始标记,当使用<img ... />语法时可以是开始标记本身)会阻止页面显示,而是显示错误消息.