)是什么?
我知道XHTML从技术上允许任何元素都是自动关闭的,但是我正在寻找所有主要浏览器支持的那些元素的列表。有关由自动关闭元素(例如)引起的某些问题的示例,请参见http://dusan.fora.si/blog/self-closing-tags。
#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中,斜杠没有改变,而且区别更加清晰,因为您甚至没有额外的
DOCTYPE
。 Content-Type
是国王。为了便于记录,XHTML规范允许将XHTML变成XML应用程序来自动关闭任何元素:[强调我]
空元素标记可用于任何没有内容的元素,无论是否使用关键字EMPTY声明。
XHTML规范中也明确显示了该元素:
空元素必须具有结束标签,或者开始标签必须以
/>
结尾。例如,<br/>
或<hr></hr>
评论
不正确的afaik,因为使用
评论
这不是XHTML的目的之一吗?我认为XHTML的优点之一是可以使用XML生成器生成HTML。为什么任何XML生成器都会知道允许哪些标签是自动关闭的?太奇怪了。之所以接受“ lam”,“不正确”的答案,是因为它回答了假面显然在问的问题。他想知道在将XHTML用作text / html时哪些元素可以自动关闭,而不会在浏览器中引起渲染问题。尽管在技术上不正确,但许多页面都是用XHTML编写的,并用作text / html。通过澄清,可以解决该问题,但是回答一个不同的问题(当您充当application / xml时会发生什么,或者text / html中的单个标签是否应该以/结束)在这种情况下没有帮助。 >