W3C 验证器(维基百科)不喜欢非空元素上的自闭合标签(那些以“”结尾的标签/>) 。(void 元素是那些可能不包含任何内容的元素。)它们在 HTML5 中仍然有效吗?
/>
可接受 的void 元素的一些示例:
<br /> <img src="" /> <input type="text" name="username" />
被拒绝 的非空元素的一些示例:
<div id="myDiv" /> <span id="mySpan" /> <textarea id="someTextMessage" />
注意: W3C 验证器实际上接受 void 自闭合标签:作者最初遇到问题是因为一个简单的拼写错误(\>而不是/>);但是,一般来说,自闭合标签在 HTML5 中并不是 100% 有效,并且答案详细说明了各种 HTML 风格的自闭合标签的问题。
\>
(理论上)在 HTML 4 中,<foo /(是的,根本没有>)意味着<foo>(这导致了<br />意义<br>>(即<br>>)和<title/hello/意义<title>hello</title>)。我使用“理论上”这个词是因为这是一个 SGML 规则,浏览器在支持方面做得很差。支持太少了(我只见过它在emacs-w3m中工作),规范建议作者避免使用 syntax。
<foo /
>
<foo>
<br />
<br>>
<br>>
<title/hello/
<title>hello</title>
在 XHTML 中,<foo />表示<foo></foo>. 这是适用于所有 XML 文档的 XML规则。 也就是说,XHTML 通常被用作text/html(至少在历史上)由浏览器使用与用作application/xhtml+xml. W3C为XHTML作为text/html. (本质上:仅当元素被定义为 EMPTY(并且 HTML 规范中禁止结束标记)时才使用自闭合标记语法)。
<foo />
<foo></foo>
text/html
application/xhtml+xml
在 HTML5 中, 的含义<foo /> 取决于元素的类型: