你需要在标签/
的末尾有一个吗?img
我在 W3schools.com 上看到了一个/
没有:
<img src="smiley.gif" alt="Smiley face" height="42" width="42">
我知道没有必要自行关闭标签,至少在我的浏览器中是这样,但我应该这样做吗?
只有/
XHTML 和 XML 才需要。
如果您使用的是 HTML5 文档类型,则无需以这种方式终止自闭合标签。
这适用于<img src="img.png" />
,<br />
等<hr />
。
即只需使用<img src="img.png">
,<br>
和<hr>
。
如果您需要一个空元素(例如 a div
),请不要使用<div />
,而是使用<div></div>
. 这很重要,因为在 HTML5 中,斜杠被忽略并被<div />
解释为<div>
没有结束标记。
如其他答案所述,仅 XHTML 标准需要它。然而,它还有另一个用途。
Notepad++ 等一些代码编辑器允许您展开/折叠标签以加快查看速度。但是,如果您只是放<img>
,它应该如何知道不需要结束标记的标记与使用相同标记名称但需要(即在 XML 中)的标记之间的区别?如果您使用自定义标签,则尤其如此。
因此,使用/>
明确告诉编辑器它是自动关闭的,允许它继续正常工作,而不是让它警告你标签不匹配。
除了有效性问题,这仅取决于您验证的文档类型,斜杠仅在您的页面使用 XML 内容类型提供时才真正重要,例如application/xhtml+xml
(很少使用,因为旧版本的 IE 阻塞它) .
如果你这样做,那么格式正确的错误处理是严酷的:任何错误(例如没有匹配的结束标签的开始标签,在使用<img ... />
语法时可能是开始标签本身)都会阻止页面显示,而是显示一条错误消息。
我认为关闭 img 标签会更好。在我的脑海中,我能想到两个原因:
如果您关心这类事情,它不会在 xhtml 下验证。
任何试图以编程方式使用它的人/任何人都可能会感到困惑/遇到有关未关闭标签的问题。谁知道呢,这将来可能包括你。:)
该代码在不使用的情况下在 html 中是可以接受的,/
但在 XHTML 中是必需的。我更喜欢穿上 /
这样从 HTML 迁移到 XHTML 没有问题