Vol*_* E. 18 xml html5 svg xml-declaration
在HTML5中使用SVG时:SVG是否<?xml version="1.0" encoding="UTF-8"?>
需要XML声明
<img>
或background-image
?这与" 是否需要'xmlns'和'版本'等SVG参数 "略有关系.两个答案和MDN Namespace崩溃课程将根据需要阐明名称空间问题.
但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>
Run Code Online (Sandbox Code Playgroud)
更新2016-07-04:澄清该问题是关于XML声明.谢谢@Martin Honnen! 更新2017-10-24:更改为"UTF-8"大写和SVGO优化属性顺序.
kjh*_*hes 14
对于HTML5,正确的DOCTYPE声明是
<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)
需要为浏览器指定完整标准模式.
你所展示的,
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
是一个XML声明.这是可选的XML 1.0和XML的1.1要求,但
version="1.0"
并且encoding="utf-8"
无论如何都是默认值.当您希望指定不同的编码时,请在HTML5中使用XML声明,尤其是当文件不仅可以由浏览器使用而且还可以由XML处理器使用时.
有关更多信息,请参阅HTML5:HTML和XHTML的词汇表和相关API.
关于内部SVG的注意事项(感谢@Quentin):嵌入HTML5文档中的SVG不应该有独立的XML声明.格式良好的XML中只允许一个 XML声明,如果在任何地方,它必须位于顶部.有关XML声明放置要求的更多详细信息,请参阅此答案.
关于外部SVG的注意事项(谢谢@Kaiido):通过HTML5 img
或CSS 引用的SVG background-images
必须有自己的XML声明,并且应该使用以下DOCTYPE声明:
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
Run Code Online (Sandbox Code Playgroud)
关于外部SVG(更新)的注意事项(谢谢,@ user314159):
每1.3.SVG命名空间和DTD中的可缩放矢量图形(SVG)2 W3C工作草案2015年07月09日:
本说明书中未提供DTD,因为已知使用DTD验证文档是有问题的.特别是,DTD不能优雅地处理名称空间,并且它们可以表达的约束范围是有限的.建议作者不要在SVG文档中包含DOCTYPE声明.
[重点补充.]
我在这里找到了信息https://oreillymedia.github.io/Using_SVG/extras/ch01-XML.html不需要 XML 和 DOCTYPE 声明...
仅当您使用非 Unicode 字符编码(从技术上讲,除了 UTF-8 或 UTF-16 以外的任何编码)时,才需要 XML 声明。
您还可以包含 SGML DOCTYPE 声明,但不再建议将其用于 SVG。
归档时间: |
|
查看次数: |
9129 次 |
最近记录: |