您需要在/
代码的末尾添加img
吗?我在没有/
的W3schools.com上看到an example:
<img src="smiley.gif" alt="Smiley face" height="42" width="42">
我知道没有必要自行关闭标签,至少在我的浏览器中,但是我应该这样做吗?
答案 0 :(得分:81)
/
仅适用于XHTML&amp; XML。强>
如果您使用的是HTML5文档类型,那么就不需要以这种方式终止自动结束标记。
这适用于<img src="img.png" />
,<br />
,<hr />
等。
即。只需使用<img src="img.png">
,<br>
和<hr>
。
如果您需要空元素(例如div
),不要使用<div />
,请使用<div></div>
。这很重要,因为在HTML5中,the slash is ignored和<div />
被解释为<div>
而没有结束标记。
答案 1 :(得分:12)
仅在XHTML标准中需要,如其他答案中所述。但是,它还有另一种用途。
某些代码编辑器(如Notepad ++)允许您展开/折叠标记以便更快地查看。但是,如果您只是放<img>
,那么它应该如何知道不需要结束标记的标记与使用相同标记名称的标记(即XML格式)之间的区别?如果您使用自定义标记,则尤其如此。
因此,使用/>
明确告诉编辑器它是自动关闭的,允许它继续正常工作,并且不会让它警告你标签不匹配。
答案 2 :(得分:5)
除了有效性问题(仅依赖于您要验证的文档类型)之外,只有当您的页面使用XML内容类型(例如application/xhtml+xml
(很少使用,因为很少使用)时,斜杠才真正重要IE的旧版本扼杀了它。)
如果你这样做,那么良构错误处理是严厉的:任何错误(例如没有匹配结束标记的开始标记,当使用<img ... />
语法时可以是开始标记本身)可以防止该页面完全显示,而是显示错误消息。
答案 3 :(得分:3)
我认为关闭img标签会更好。我可以想到两个原因:
如果你关心这种事情,它不会在xhtml下验证。
尝试以编程方式使用它的任何人/任何人都可能会混淆/运行有关未关闭标记的问题。谁知道,这可能包括你在未来。 :)
答案 4 :(得分:3)
在不使用/
的情况下,代码在html中是可接受的,但在XHTML中是必需的。我更喜欢放置/
,以便从HTML迁移到没有问题
XHTML