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

195

所有主流浏览器都支持哪些有效的自闭合元素(例如<br/>),在XHTML中哪些是可以使用的?

我知道XHTML技术上允许任何元素都可以自闭合,但我正在寻找由所有主流浏览器支持的自闭合元素列表。请参见http://dusan.fora.si/blog/self-closing-tags,其中有一些由于使用自闭合元素(如<div />)而导致问题的示例。


7
这难道不是违反XHTML的目标之一吗?我原以为XHTML的优点之一是你可以使用XML生成器来生成HTML。但是,为什么任何XML生成器都要知道哪些标签可以自闭合呢?这也太奇怪了。 - Elijah
6
“瘸腿”、“不正确”的答案之所以被接受,是因为它回答了Kamens显然在问的问题。他想知道哪些元素在将XHTML作为text/html提供时可以自闭合而不会导致浏览器呈现问题。许多页面都是用XHTML编写的,并作为text/html提供,即使这在技术上是不正确的。该问题可以通过这一澄清来改善,但回答不同的问题(例如:当您作为application/xml提供时会发生什么,或者text/html中的单数标记是否应具有封闭/)在这种情况下没有帮助。 - Nick Lockwood
13个回答

3

我不会过度解释这个问题,特别是因为我写的大多数页面都是生成的或者标签本身具有内容。只有两个标签在自闭合时曾经给我带来麻烦:

<title/>

对于这个问题,我通常会使用一个单独的结束标签,因为一旦它出现在<head></head>中,它并不会使您的代码变得混乱难懂。

<script/>

这是我最近遇到问题的大问题。多年来,当脚本来自外部源时,我总是使用自闭合的<script/>标签。但是我最近收到了关于null表单的JavaScript错误消息。经过几天的研究,我发现问题是(据说)浏览器永远无法到达<form>标记,因为它没有意识到这是<script/>标记的结尾。所以当我将其转换为单独的<script></script>标记时,所有东西都正常工作了。为什么同一浏览器上制作的不同页面会有所不同,我不知道,但找到解决方案真是一件大事!


3

另一个IE自闭标签的问题是标题元素。当IE(仅在IE7中尝试)看到这个时,它会向用户呈现一个空白页面。然而,您可以“查看源代码”,并且所有内容都在那里。

<title/>

我最初看到这个问题是因为我的XSLT生成了自闭合标签。

Chromium 也不喜欢 <title/> 标签。 - uınbɐɥs

-3

<hr /> 是另一个


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接