我是不是需要在 <img> 或 <br> 标签等末尾添加“/”? [复制]
Posted
技术标签:
【中文标题】我是不是需要在 <img> 或 <br> 标签等末尾添加“/”? [复制]【英文标题】:Do I need a "/" at the end of an <img> or <br> tag, etc.? [duplicate]我是否需要在 <img> 或 <br> 标签等末尾添加“/”? [复制] 【发布时间】:2013-02-15 11:26:17 【问题描述】:您是否需要在img
标记的末尾添加/
?我在 W3schools.com 上看到 an example 没有 /
:
<img src="smiley.gif" >
我知道没有必要自行关闭标签,至少在我的浏览器中是这样,但我应该这样做吗?
【问题讨论】:
@John - 有趣的事情:w3.org/html/wg/drafts/html/master/… 使用 img 标签而不用结束 / 你可能永远不应该自我关闭任何类型的标签,因为这太棘手了。 【参考方案1】:/
仅适用于 XHTML 和 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>
。
【讨论】:
对于 HTML5,您可以以/
结束 void elements 或省略它。两种形式都有效。但是,您不得为它们使用结束标记,例如 </img>
。【参考方案2】:
如其他答案所述,仅 XHTML 标准需要它。但是,它还有其他用途。
Notepad++ 等一些代码编辑器允许您展开/折叠标签以加快查看速度。但是,如果您只是输入<img>
,它应该如何知道不需要结束标记的标记与使用相同标记名称但需要(即在 XML 中)的标记之间的区别?如果您使用自定义标签,则尤其如此。
因此,使用/>
明确告诉编辑器它是自动关闭的,允许它继续正常工作,而不是让它警告你标签不匹配。
【讨论】:
对于这个问题,***.com/questions/3558119/…,我不建议只是为了它而在 HTML5 doctype'd 页面上拍/
:“在 HTML 5 中, 表示 我认为关闭 img 标签会更好。在我的脑海中,我能想到两个原因:
如果你关心这类事情,它不会在 xhtml 下验证。
任何试图以编程方式使用它的人/任何人都可能会感到困惑/遇到有关未关闭标签的问题。谁知道呢,这将来可能包括你。 :)
【讨论】:
HTML 不是 XHTML,所以我发现 #1 无关紧要。然而,#2 可能是不支持 HTML 的编辑器的问题。 (XHTML/HTML 的更大问题与空标签和 CDATA 相关,所以我放弃了这些其他问题:选择你的战斗) 我不会过度计划将来某个时候迁移到 XHTML。如果有人正在迁移,他们应该能够处理这种事情...... 嘿,现在有点有趣:我在这个网站上看到另一个问题,询问如何使用 actionscript 3 解析 html。打开的 img 标签(显然还有其他标签)正在引发问题。【参考方案4】:在不使用/
的情况下,该代码在 html 中是可以接受的,但在 XHTML 中是必需的。我更喜欢打开/
,这样从 HTML 迁移到
XHTML
【讨论】:
对于这个问题,***.com/questions/3558119/…,我不建议只是为了它而在 HTML5 doctype'd 页面上打 /'s:“在 HTML 5 中,除了有效性问题,这仅取决于您验证的文档类型,斜杠仅在您的页面使用 XML 内容类型提供时才真正重要,例如application/xhtml+xml
(很少使用,因为旧版本IE 窒息它)。
如果你这样做了,那么格式正确的错误处理是严厉的:任何错误(例如没有匹配的结束标签的开始标签,当使用<img ... />
语法时,它可以是开始标签本身)阻止页面根本不显示,而是显示一条错误消息。
【讨论】:
当然,任何导致页面不显示的错误都是最好的选择。 Fail Fast 方法让世界变得更美好。以上是关于我是不是需要在 <img> 或 <br> 标签等末尾添加“/”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 <video> 或 <img> 上模拟 background-size:cover
潘戈+开罗;是不是有处理文本中 <img> 样式标签的现有方法?
我可以只使用 <img> 标签 src 和 alt 来提供 WebP 文件而不是使用 <picture> 吗?