在 HTML5 中关闭诸如 <br> 之类的空元素的自关闭标记的允许方法是什么?

新手上路,请多包涵

在 HTML5 中,用 <br /> 关闭 <br> 标签是否仍然合适?

这显然也适用于所有其他单个标签。我意识到这实际上并不影响东西的工作方式,但这里的最佳实践是什么?

 someLines of txt <br>            // How you see a lot of people doing it
and then some <br />             // XHTML style! Should I still be doing this?
ow im not done yet.. <br> </br>  // No one does this right? RIGHT?!

原文由 Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 503
2 个回答

来自 HTML 的 W3C 规范

  • 以下是 HTML 中 void 元素的完整列表:

    • area , base , br , col , command , embed , hr , img , input , keygen , link , meta , param , source , track , wbr
  • 空元素只有一个开始标签;不得为 void 元素指定结束标记。

  • 开始标签由以下部分组成,顺序如下:

    • 一个 < 字符。
    • 元素的标签名称。
    • 可选的一个或多个属性,每个属性前面必须有一个或多个空格字符。
    • 可选地,一个或多个空格字符。
    • 可选地,一个 / 字符,仅当元素是空元素时才可能存在。
    • 一个 > 字符。

由此看来,我们可以使用 <br><br/> 。但是,结束标记 </br> 无效,所以不要使用 <br> </br>

通过 HTML 验证服务 运行以下命令表明同样如此。

 <!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Testing void elements</title>
</head>
<body>
    some lines of txt <br>
    and then some more <br />
    I'm not done yet... <br> </br> <!-- This line generates an error -->
</body>
</html>

因此,请使用 <br><br/> ,只需确保始终如一地使用它们。

编辑:正如 Brad 所指出的, <br /> 也是有效的 XHTML,因此最好选择这种形式。

原文由 Chris 发布,翻译遵循 CC BY-SA 3.0 许可协议

恕我直言,我认为最好遵守 XHTML 标准,甚至关闭所谓的 void 元素,如@Alex 所述。如果您的代码也是有效的 XML,那么您 可能会 找到更好的工具支持来管理您的代码

<br>  // not valid XML without a closing tag

<br /> // valid XML and I prefer this

<br></br>  // valid XML but unnecessary clutter

在任何情况下,如果您应该通过 HTML 验证服务 运行您的代码。只要它是有效的,那么你就只处理编码风格,每个人在这个问题上都会有自己的个人倾向。

[编辑]

为了澄清我的答案,我建议使用这些 XHTML 标头中的任何一个……

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

如果您正在为 HTML5 编码,那么客户端/浏览器应该支持严格的标准

原文由 Brad 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题