HTML5中的SVG标记是否可以省略自闭合标签?

6
从问题“Do I need a '/' at the end of an <img> or <br> tag, etc.?”中,我了解到在HTML5中,像<br /><img />这样的自闭合标签是完全可选的,可以简单地写成<br><img>
但是对于与HTML5内联放置的SVG元素是否也适用呢?例如,<circle />标签是否可以写成<circle>
<svg viewBox="0 0 1000 1000">
    <circle cx="500" cy="500" r="500" />
</svg>

如果允许,这通常是好的还是不好的做法?

3
可能是 Closing SVG paths, explicit or self closing? 的重复问题。请问应该使用显式关闭还是自我关闭 SVG 路径? - m4n0
@ManojKumar 我猜那个问题的答案也是这个问题的答案,但那个问题更多地是从特定DOM验证系统的角度提出的。 - Keavon
1个回答

4
以下是我在W3 SVG和MathML元素在HTML文档中的文档中发现的一些规则:
  • 具有单个“/”字符的开始标记之前的闭合“>”字符的SVG和MathML元素被称为自闭合。
  • SVG和MathML元素必须具有开始标记和结束标记,或者具有标记为自闭合的开始标记,在这种情况下,它们不能有结束标记。
  • 标记为自闭合的SVG和MathML元素不能具有任何内容。
  • 未标记为自闭合的SVG或MathML元素的内容是它包含的任何元素,字符数据,注释和CDATA部分,限制是它包含的任何字符数据必须是正常字符数据。
我认为第二点强制要求svg元素具有显式的闭合标记或自闭合标记。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接