小编典典

XHTML 中所有有效的自闭合元素(由主要浏览器实现)是什么?

all

XHTML(由主流浏览器实现)中所有有效的自闭合元素(例如
)是什么?

我知道 XHTML
在技术上允许任何元素自关闭,但我正在寻找所有主要浏览器支持的那些元素的列表。见http://dusan.fora.si/blog/self-
closing-tags以了解由


等自闭合元素引起的一些问题的示例。


阅读 93

收藏
2022-07-16

共1个答案

小编典典

每个支持 XHTML 的浏览器(Firefox、Opera、Safari、IE9 )都支持 每个元素 的自关闭语法。

<div/>, <script/>,<br></br>一切都应该正常工作。如果没有,那么您的 HTML 中添加了不恰当的 XHTML
DOCTYPE。

DOCTYPE 不会改变文档的解释方式。 只有 MIME
类型可以

W3C 关于忽略 DOCTYPE 的决定

HTML WG 讨论了这个问题:其目的是允许旧的(仅 HTML)浏览器按照指南接受 XHTML 1.0 文档,并将它们作为 text/html
提供。因此,作为 text/html 的文档应该被视为 HTML 而不是 XHTML。

这是一个非常常见的陷阱,因为 W3C Validator 在很大程度上忽略了该规则,但浏览器却虔诚地遵循它。从 WebKit 博客中阅读 理解
HTML、XML 和 XHTML :

事实上,互联网上绝大多数所谓的 XHTML 文档都是以text/html. 这意味着它们根本不是 XHTML,而是实际上是无效的 HTML,它在
HTML 解析器的错误处理上得到了解决。网络上所有那些“有效的 XHTML 1.0!”链接实际上是在说“无效的 HTML 4.01!”。


要使用 XHTML 的 DOCTYPE 测试您是否有真正的 XHTML 或无效的 HTML,请将其放入您的文档中:

<span style="color:green"><span style="color:red"/> 
 If it's red, it's HTML. Green is XHTML.
</span>

它验证并在真正的 XHTML 中完美运行(参见:1 vs
2)。如果您不相信自己的眼睛(或不知道如何设置 MIME 类型),请通过XHTML
代理
打开您的页面。

另一种检查方法是在 Firefox 中查看源代码。当斜杠无效时,它会以红色突出显示斜杠。

在 HTML5/XHTML5 中,这并没有改变,而且区别更加清晰,因为你甚至没有额外DOCTYPE的 . Content-Type是国王。


作为记录,XHTML 规范允许任何元素通过使 XHTML 成为XML 应用程序来自动关闭:[强调我的]

空元素标签可用于 任何没有内容的元素 ,无论它是否使用关键字 EMPTY 声明。

它也在XHTML 规范中明确显示:

空元素必须 一个结束标签或开始标签必须以/>. 例如,<br/><hr></hr>

2022-07-16