【发布时间】:2016-11-05 06:52:10
【问题描述】:
在 HTML5 中使用 SVG 时:SVG 是否需要 XML 声明 <?xml version="1.0" encoding="UTF-8"?>
- 作为图片通过
<img>或 - 作为 CSS
background-images?
这与“Are SVG parameters such as 'xmlns' and 'version' needed”略有关系。两个答案和MDN Namespace crash course 澄清了命名空间问题必要时。
但是 SVG 1.1 不包含关于 XML 声明的必要性或何时可以省略的声明?
没有声明的例子:
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
<circle id="circle--red" cx="30" cy="30" r="30" fill="#f00"/>
</svg>
2016 年 7 月 4 日更新:澄清了关于 XML 声明的问题。谢谢@Martin Honnen! 2017 年 10 月 24 日更新:更改为 “UTF-8“ uppercase 和 SVGO 优化的属性顺序。
【问题讨论】:
-
<?xml version="1.0" encoding="utf-8"?>是 XML 声明,它不是文档类型。 -
在stackoverflow.com/a/7007781/1696030 上提供了关于 XML 声明的一般 XML 文件必要性的深入回答。简而言之,在 XML 版本 1.0 中,声明是可选的,但您可能遇到编码或某些(文本)编辑器的问题。
标签: xml html svg xml-declaration