哪种形式的元标记在 HTML5 <meta> 或 <meta/> 中有效?

What form of meta tag is valid in HTML5 <meta> or <meta/>?

验证器接受两种形式的标签 <meta><meta/>。 HTML5 specification 表示不应出现结束标记,因此 <meta><meta/> 的形式被禁止。但是我找不到有关表格 <meta/>.

的任何信息

Looking at Mozilla's documentation for it,以及我观察到的一般情况,你只是不要关闭标签。

<meta charset="utf-8">

以上有效HTML5。没有理由在其上包含任何类型的结束标记或任何类似结束标记的内容。

按照这个 HTML5 标准:http://www.w3.org/TR/html-markup/syntax.html#void-element

Start tags consist of the following parts, in exactly the following order:

  1. A "<" character.
  2. The element’s tag name.
  3. Optionally, one or more attributes, each of which must be preceded by one or more space characters.
  4. Optionally, one or more space characters.
  5. Optionally, a "/" character, which may be present only if the element is a void element.
  6. A ">" character.

meta 是一个 void 元素,因此第 5 部分将适用,但需要注意“可选,一个 / 字符,可能 存在..."

<meta ... />

因此,您可以 省略第 5 部分,即结尾的“/”,因此这也是有效的:

<meta ... >

规范进一步说明:

Void elements only have a start tag; end tags must not be specified for void elements.

总而言之,不需要结束标记。不需要自动关闭。如果存在结束标记或自关闭,则不会受到伤害。

.

这取决于你使用的是HTML5还是XHTML5语法。在 XHTML5 中,它是必需的,如果您在关闭标记时不使用 /,解析器将崩溃。一般所有 XML 元素都必须有结束标记。

Validator.nu

中尝试这段代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Document</title>
<meta charset="UTF-8"/>
</head>

<body>

</body>
</html>

尝试从 meta charset 中删除 / 并观察结果。不要忘记为 XHTML5.

设置正确的预设