HTML5 中的自闭合标签(空元素)

问题描述 投票:0回答:6
HTML5 规范的

8.1.2.1 开始标记第 6 步表示,void elements可以有一个

/
字符。我认为这样可以更轻松地将 XHTML 网站迁移到 HTML5。

最佳实践是什么?

例如,如果我正在使用 HTML5 制作网站 (

<!DOCTYPE html>
),我应该做什么?

  1. 没有斜杠

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    
  2. 用斜线

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    

如果两者都能在所有浏览器上正确呈现,那么我假设 (1) 不带斜杠是正确的方法,因为它更 HTML5。

html tags element
6个回答
25
投票

对于最佳实践尚未达成共识,根据规范作者 Ian Hickson 的说法,这并不重要。


19
投票

用斜杠结束标签是一种更明确的方式,表示它不应该有结束标签。


16
投票

这主要取决于您是否想走 XML 路线。两者都应该正确呈现,因为 HTML5 规范不需要自闭合标签 - 它们唯一的原因是文档是有效的 XML。

更简单的方法可能就是直接写 then 而不用自闭“/”,除非有特定需要将标记解析为 XML - 在这种情况下你还需要

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >

14
投票

Google 在其 样式指南 中建议:不要关闭 void 元素

HTML5(HTML 语法)是所有 HTML 文档的首选...虽然 HTML 没问题,但不要关闭 void 元素

就我个人而言,我已经习惯用斜杠来结束标签,并且发现

/>
帮助我认识到该标签不会有结束标签。


6
投票

本文解释了两个版本之间的区别:http://www.colorglare.com/2014/02/03/to-close-or-not-to-close.html

两个版本完全相同。

实际上,有人可能会认为将“/`添加到 void 标记是一种被忽略的语法错误。


0
投票

如果您想让 HTML 5 文档与 XHTML 和 HTML 兼容(前提是您使用相同的元素子集)并且您可能希望使其可以使用 XML 解析器进行解析,我建议关闭 void 元素(自动关闭) .

查看 https://developer.mozilla.org/en-US/docs/Web/HTML 中的指南、参考资料和示例,它们会自动关闭 void 元素(但也存在以下指南、参考资料和示例)不会自动关闭 void 元素)。

© www.soinside.com 2019 - 2024. All rights reserved.