为了好奇,为什么< img >标签未在 HTML 中关闭?
<img src="smiley.gif" alt="Smiley face" height="42" width="42">
我还注意到&lt; img &gt;标签在 XHTML ...
中明确关闭<img src="smiley.gif" alt="Smiley face" height="42" width="42"/>
W3Schools: Image Tag
答案 0 :(得分:33)
历史上,HTML一直基于SGML,允许在某些条件下省略标记。
由于<img>
元素不能包含任何子节点,因此它被定义为EMPTY并且禁止结束标记(因为它没有用处)。
XHTML是用XML表示的HTML,XML不支持可选或禁止的标签(虽然它允许自动关闭标签替代开始+结束标签对),因此必须在那里明确关闭。
HTML 5向后兼容基于SGML的HTML版本。
答案 1 :(得分:17)
<img>
标记表示所谓的 void element (请参阅HTML5 spec),因为它不能包含任何内容(与{{3}}不同1}}或<a>
)。因此,没有语法上的理由说明为什么它需要在HTML中关闭。
XHTML基于XML,每个标签都需要关闭。
答案 2 :(得分:3)
这就是所谓的void元素,它只意味着元素必须没有任何内容(但可以有属性。)HTML5规范对虚空元素有这样的说法:
如果元素是空元素之一,或者元素是外来元素,则可能是单个&#34; /&#34; (U + 002F)字符。 此字符对空白元素没有影响
所以没有真正的理由让单身&#34; /&#34; (U + 002F)字符,但如果包含它,它不会破坏任何内容。
答案 3 :(得分:2)
<img>
标记基本上是一个Void元素。
为了您的理解:
图片没有任何内容。图像标记将只提供通过src属性加载资源的路径。因此,它不需要任何结束元素。
<img src="smiley.gif" alt="Smiley face" height="42" width="42"/>
,此代码适用于XHTML版本。
答案 4 :(得分:-1)
您不会像在h1
中那样在图像中放置任何内容,而在图像中则不会放置任何内容。
示例:
<h1>hi</h1>
<img src=blblb alt=blbl/>