自閉合的div將無法驗(yàn)證。這是因?yàn)閐iv是一個(gè)普通元素,而不是一個(gè)空元素。
根據(jù)HTML5規(guī)格,不能包含任何內(nèi)容的標(biāo)籤(稱為空白元素)可以自閉合*。這包括以下標(biāo)籤:
area, base, br, col, embed, hr, img, input, link, meta, param, source, track, wbr
上述標(biāo)籤上的「/」是完全可選的,因此<img/>
與<img>
沒有區(qū)別,但<img> ;</img>
是無效的。
*注意:外部元素也可以自閉合,但我認(rèn)為這不在本答案的範(fàn)圍內(nèi)。
在理論上,HTML 4中,<foo /
(是的,沒有任何>
)的意思是<foo>
(這導(dǎo)致<br />
的意思是<br>>
(即<br>>
)和<title/hello/
的意思是<title>hello</title>
)。我使用術(shù)語“理論上”是因?yàn)檫@是一個(gè)SGML規(guī)則,瀏覽器對(duì)其支援得非常差。支援非常少(我只在emacs-w3m中看到過它起作用),以至於規(guī)範(fàn)建議作者避免使用這種語法。
在XHTML中,<foo />
的意思是<foo></foo>
。這是適用於所有XML文件的XML規(guī)則。也就是說,XHTML通常以text/html
的形式提供,這(至少在歷史上)由瀏覽器使用與以application/xhtml xml
提供的文件不同的解析器處理。 W3C提供了關(guān)於XHTML作為text/html
的相容性指南。 (基本上:只有在元素被定義為EMPTY(並且在HTML規(guī)範(fàn)中禁止了結(jié)束標(biāo)籤)時(shí),才使用自閉合標(biāo)籤語法)。
在HTML5中,<foo />
的意思取決於元素的類型: