8.1.2.1 开始标记的第 6 步表示,void elements可以有一个
/
字符。我认为这样可以更轻松地将 XHTML 网站迁移到 HTML5。
最佳实践是什么?
例如,如果我正在使用 HTML5 制作网站 (
<!DOCTYPE html>
),我应该做什么?
没有斜杠
<meta http-equiv="content-type" content="text/html; charset=utf-8">
用斜线
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
如果两者都能在所有浏览器上正确呈现,那么我假设 (1) 不带斜杠是正确的方法,因为它更 HTML5。
对于最佳实践尚未达成共识,根据规范作者 Ian Hickson 的说法,这并不重要。
用斜杠结束标签是一种更明确的方式,表示它不应该有结束标签。
这主要取决于您是否想走 XML 路线。两者都应该正确呈现,因为 HTML5 规范不需要自闭合标签 - 它们唯一的原因是文档是有效的 XML。
更简单的方法可能就是直接写 then 而不用自闭“/”,除非有特定需要将标记解析为 XML - 在这种情况下你还需要
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
Google 在其 样式指南 中建议:不要关闭 void 元素。
HTML5(HTML 语法)是所有 HTML 文档的首选...虽然 HTML 没问题,但不要关闭 void 元素
就我个人而言,我已经习惯用斜杠来结束标签,并且发现
/>
帮助我认识到该标签不会有结束标签。
本文解释了两个版本之间的区别:http://www.colorglare.com/2014/02/03/to-close-or-not-to-close.html
两个版本完全相同。
实际上,有人可能会认为将“/`添加到 void 标记是一种被忽略的语法错误。
如果您想让 HTML 5 文档与 XHTML 和 HTML 兼容(前提是您使用相同的元素子集)并且您可能希望使其可以使用 XML 解析器进行解析,我建议关闭 void 元素(自动关闭) .