删除
viewBox
会产生显着的语义差异,因为 SVG 将不再缩放(即响应 UA 调整大小)。这仅适用于您直接查看图像的情况,但如果您将其作为背景图像查看或通过 SVG <image>
标签或 html <img>
标签查看,则 SVG 将被绘制为好像它具有 viewBox
为“0 0 宽度高度”,除非 viewBox
已经存在。
删除
background-color
将意味着 SVG 当放置在其他东西之上时将不再是不透明的。当然,如果你不这样做,你可能不会注意到。
仅当 SVG 文件中有文本元素时,
xml:space
属性才重要。
如果 SVG 是内联的,其余的删除都是良性的。如果 SVG 是独立文件,则需要命名空间属性,但背景图像就是这种情况。
简化版本不是有效的 SVG。它将被视为“任何”恰好具有名称为“svg”的根元素的 XML。
要将片段转换为 the SVG,只有一个选项:
xmlns
属性添加到 svg
元素(正如您所发现的)不再建议在文档中添加
DOCTYPE
,并且从 Chrome 53 起就不起作用。将文档作为 MIME 类型 image/svg+xml
提供服务也不够。
示例:
<svg xmlns="http://www.w3.org/2000/svg">
(消费者选择的SVG版本)<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
(适用于 SVG 1.0)使用W3验证器检查您的文件。请务必检查检测到的文档类型是否为 SVG,因为该文档可能仍然有效,但作为一般/未知的 XML。 -- 他们还有测试页面。