【发布时间】:2014-07-16 10:37:39
【问题描述】:
出于好奇,为什么 img> 标签没有在 HTML 中关闭?
<img src="smiley.gif" alt="Smiley face" height="42" width="42">
我还注意到 img> 标记在 XHTML 中显式关闭...
<img src="smiley.gif" alt="Smiley face" height="42" width="42"/>
W3Schools: Image Tag
【问题讨论】:
-
因为没有内容?它通过属性完成所有事情,不可能有子元素或文本,里面没有什么可以进入的,它只有自我关闭才有意义,不幸的是,HTML 的标准化太松散,以至于它永远不需要一个显式的自闭合标签。
-
@scragar:不知道你说的最后一句话是什么意思 - HTML 的定义和标准化都非常好,并且已经存在很多年了。
-
@BoltClock 我的意思是标准非常宽容,不关闭标签完全没问题,浏览器应该根据语言的一般规则猜测标签关闭的位置。
<p>text1<p>text2<p>text3应该创建 3 个段落,但大多数浏览器会假设每个<p>在下一个开始时关闭,尽管它有一个常用的结束标记。标准说这是很好且完全可以预期的行为。 -
@scragar:这是预期的行为,因为一个段落不能包含另一个段落(只有内联元素)。
-
@SecondRikudo 阅读我写的内容,我说根据 HTML 标准这是正确的行为,但根据 XML 标准,这不是正确的行为,这就是我们将 HTML 与此处进行比较的内容。 HTML 遵循一套不同的更宽容的规则。