在 HTML 4中 ,
<foo/
(是,完全没有>
)意味着<foo>
(导致<br/>
含义<br>>
(即<br>>
)和<title/hello/
意义<title>hello</title>
)。这是一条 SGML规则,浏览器在支持方面做得很差,并且该规范建议作者避免使用语法。在 XHTML中 ,
<foo />
是指<foo></foo>
。这是一条适用于所有XML文档的 XML 规则。也就是说,XHTML通常用作text/html
(至少在历史上)由浏览器使用与用作文档的解析器不同的解析器来处理的HTMLapplication/xhtml+xml
。W3C提供了XHTML遵循的[兼容性指南text/html
。(本质上:仅当元素定义为EMPTY时才使用自闭标签语法(并且HTML规范中禁止使用结束标签))。在 HTML5中 ,的含义
<foo />
取决于元素的类型。- 在被指定为 _void元素的HTML元素上(本质上是“在HTML5之前存在并且被禁止包含任何内容的元素”),最终标签被简单地禁止了。在开始标记末尾的斜杠是允许的,但没有任何意义。对于仅沉迷于XML的人员(和语法突出显示)来说,它只是语法糖。
- 在其他HTML元素上,斜杠是一个错误,但是错误恢复将导致浏览器将其忽略,并将该标记视为常规的开始标记。这通常会导致缺少结束标签,导致后续元素成为子元素而不是兄弟元素。
- 外部元素(从SVG等XML应用程序导入)将其视为自动关闭语法。



