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

我知道XHTML从技术上允许任何元素都是自动关闭的,但是我正在寻找所有主要浏览器支持的那些元素的列表。有关由自动关闭元素(例如
)引起的某些问题的示例,请参见http://dusan.fora.si/blog/self-closing-tags。

评论

这不是XHTML的目的之一吗?我认为XHTML的优点之一是可以使用XML生成器生成HTML。为什么任何XML生成器都会知道允许哪些标签是自动关闭的?太奇怪了。

之所以接受“ lam”,“不正确”的答案,是因为它回答了假面显然在问的问题。他想知道在将XHTML用作text / html时哪些元素可以自动关闭,而不会在浏览器中引起渲染问题。尽管在技术上不正确,但许多页面都是用XHTML编写的,并用作text / html。通过澄清,可以解决该问题,但是回答一个不同的问题(当您充当application / xml时会发生什么,或者text / html中的单个标签是否应该以/结束)在这种情况下没有帮助。 >

#1 楼

每个支持XHTML的浏览器(Firefox,Opera,Safari,IE9)在每个元素上都支持自动关闭语法。
<div/><script/><br></br>都可以正常工作。如果不是,则您的HTML中添加了不适当的XHTML DOCTYPE。
DOCTYPE不会更改文档的解释方式。 W3C关于忽略DOCTYPE的决定:

HTML WG讨论了此问题:目的是允许旧的(仅HTML)浏览器接受XHTML。遵循
指南,并以text / html形式提供1.0文档。因此,用作
text / html的文档应被视为HTML而不是XHTML。

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

实际上,互联网上的大多数XHTML文档被用作text/html。这意味着它们根本不是XHTML,而是实际上由于HTML解析器的错误处理而变得无效的HTML。所有这些“有效的XHTML 1.0!” Web上的链接实际上是在说“无效的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对2)。如果您不敢相信(或不知道如何设置MIME类型),请通过XHTML代理打开页面。
另一种检查方法是在Firefox中查看源代码。当斜杠无效时,它将用红色突出显示。
在HTML5 / XHTML5中,斜杠没有改变,而且区别更加清晰,因为您甚至没有额外的DOCTYPEContent-Type是国王。

为了便于记录,XHTML规范允许将XHTML变成XML应用程序来自动关闭任何元素:[强调我]

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

XHTML规范中也明确显示了该元素:

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


评论


不正确的afaik,因为使用