HTML5 中的 SVG 标记可以省略自闭标签吗?

Posted

技术标签:

【中文标题】HTML5 中的 SVG 标记可以省略自闭标签吗?【英文标题】:Can SVG markup in HTML5 omit self-closing tags? 【发布时间】:2015-11-16 03:42:15 【问题描述】:

从问题Do I need a "/" at the end of an <img> or <br> tag, etc.?中我了解到&lt;br /&gt;&lt;img /&gt;等自闭合标签在html5中完全是可选的,可以简单地写成&lt;br&gt;&lt;img&gt; .

但是对于与 HTML5 内联放置的 SVG 元素也是如此吗?比如&lt;circle /&gt;标签可以写成&lt;circle&gt;吗?

<svg viewBox="0 0 1000 1000">
    <circle cx="500" cy="500" r="500" />
</svg>

如果允许,一般是好还是坏?

【问题讨论】:

Closing SVG paths, explicit or self closing?的可能重复 @ManojKumar 我想这个问题的答案就是对这个问题的回答,但这个问题更多是从关于特定 DOM 验证系统的立场提出的。 【参考方案1】:

以下是我在W3 SVG and MathML elements in HTML documents documentation发现的一些规则

开始标签在结束“>”字符之前有一个“/”字符的 SVG 和 MathML 元素被称为标记为 自动关闭。 SVG 和 MathML 元素必须有一个开始标记和一个结束标记,或者一个标记为自闭合的开始标记,在这种情况下它们 不能有结束标签。 开始标签被标记为自闭合的 SVG 和 MathML 元素不能有任何内容。 开始标签未标记为自闭合的 SVG 或 MathML 元素的内容是任何元素、字符数据、cmets 和 它包含的 CDATA 部分,但限制是任何 它包含的字符数据必须是普通字符数据。

我认为第二点强制svg 元素具有显式结束标记或自结束标记。

【讨论】:

以上是关于HTML5 中的 SVG 标记可以省略自闭标签吗?的主要内容,如果未能解决你的问题,请参考以下文章

可以使用自闭合 DIV 标签吗? [复制]

这个极简的 HTML5 标记有效吗?

如何在HTML5中使用SVG

在 HTML5 中,可以在 em 标签中使用强标签吗?

包含在 HTML 中的带有“img”标签的 SVG 可以链接到带有“image”标签的外部图像吗?

HTML5 SVG