XHTML(由主要浏览器实现)中所有有效的自动关闭元素(例如)是什么?
我知道XHTML从技术上讲允许任何元素都是自动关闭的,但是我正在寻找所有主要浏览器都支持的那些元素的列表。
每个支持XHTML的浏览器(Firefox,Opera,Safari,IE9在 每个元素 上 都 支持自动关闭语法。
<div/>,<script/>,<br></br>都应该只是罚款。如果没有,则您的 HTML 带有不适当添加的XHTML DOCTYPE。
<div/>
<script/>
<br></br>
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!”。
text/html
要测试您的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中,这一点没有改变,而且区别甚至更加明显,因为您甚至没有额外的DOCTYPE。Content-Type是国王。
DOCTYPE
Content-Type
出于记录,XHTML规范通过将XHTML变成XML应用程序来允许任何元素自动闭合:[强调我的]
空元素标记可用于 不包含内容的任何元素 ,无论是否使用关键字EMPTY进行声明。
XHTML规范中也明确显示了它:
空元素必须 要么 有结束标签或者开始标签必须结束/>。例如,<br/>或<hr></hr>
/>
<br/>
<hr></hr>