<hr />元素可以有结束标记吗?

时间:2011-06-21 15:46:51

标签: html xhtml

我的同事并不真正了解或理解HTML。她的工作是将信息输入CMS,我注意到她一直关闭<hr />这样的<hr></hr>标签。

我有一个谷歌,但我找不到任何说不允许或可能导致问题的地方。我知道它应该是<hr />,但值得我告诉她还是不必要但有效的标记?

NB我们网站的doctype是 XHTML 1.0 Transitional如果这有任何区别。

修改

@Jeff对验证有个好主意。我使用了以下代码,显然这是有效的XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
        <hr></hr>
    </body>
</html>

7 个答案:

答案 0 :(得分:32)

好的,<hr></hr>实际上也是一个有效的XHTML 1.0。

因此,对于XHTML 1.0:

  • <hr />有效
  • <hr></hr>有效
  • <hr> 有效

...适用于HTML 4.0:

  • <hr />有效
  • <hr></hr> 有效
  • <hr>有效

因此,最好的选择是使用始终有效的<hr />

答案 1 :(得分:10)

HTML 4 says

  

开始标记: 必需结束标记: 禁止

由于XHTML基本上意味着HTML标签需要有一个结束标记,我会说<hr />是您应该考虑的唯一格式。

正如其他人所说,<hr></hr>是有效的XHTML(they even use it as example),但出于兼容性原因,我不会使用它。

答案 2 :(得分:3)

<hr />只是<hr></hr>的简写;两者都可以在XHTML文档中使用。但是,在HTML文档中都不能接受,<hr>应该使用,而在XHTML中则无效。

答案 3 :(得分:1)

没有。 <hr />不应该有结束标记。

HTML无效。

有效的XML,因此从技术上讲它是有效的xhtml,但即使你使用的是xhtml,你仍然不应该使用它。

这是因为即使在呈现xhtml代码时,所有浏览器实际上都使用其HTML解析器,因此结束</hr>标记被视为错误。有些浏览器甚至可能将其误解为额外的<hr>元素。

唯一的跨浏览器兼容方式是<hr>(即纯HTML)或<hr />,如果你想拥有一个有效的xhtml文档。

答案 4 :(得分:0)

据我所知,没有结束hr标签。标签纯粹是自我关闭,文档类型定义将反映这一点。

答案 5 :(得分:0)

由于它是一个空元素,因此打开和关闭标记是没有意义的。

但是,XML要求关闭所有标记,因此需要<hr />形式。

我想在HTML中,而不是XML,<hr></hr>是有效的,但不必要。

答案 6 :(得分:0)

HR元素绘制水平规则。这是一个块元素,不需要结束标记。

参考:http://msdn.microsoft.com/en-us/library/bb159725.aspx