小编典典

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

html

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

我知道XHTML从技术上讲允许任何元素都是自动关闭的,但是我正在寻找所有主要浏览器都支持的那些元素的列表。


阅读 511

收藏
2020-05-10

共1个答案

小编典典

每个支持XHTML的浏览器(Firefox,Opera,Safari,IE9在 每个元素 支持自动关闭语法。

<div/><script/><br></br>都应该只是罚款。如果没有,则您的 HTML 带有不适当添加的XHTML DOCTYPE。

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

W3C关于忽略DOCTYPE的决定:

HTML WG讨论了此问题:其目的是允许旧的(仅HTML)浏览器通过遵循准则并将其用作text / html来接受XHTML
1.0文档。因此,用作text / html的文档应被视为HTML而不是XHTML。

这是一个非常常见的陷阱,因为W3C验证程序在很大程度上忽略了该规则,但是浏览器却认真地遵循该规则。

实际上,Internet上的绝大多数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>

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

在HTML5 / XHTML5中,这一点没有改变,而且区别甚至更加明显,因为您甚至没有额外的DOCTYPEContent-Type是国王。


出于记录,XHTML规范通过将XHTML变成XML应用程序来允许任何元素自动闭合:[强调我的]

空元素标记可用于 不包含内容的任何元素 ,无论是否使用关键字EMPTY进行声明。

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

空元素必须 要么 有结束标签或者开始标签必须结束/>。例如,<br/><hr></hr>

2020-05-10