【发布时间】:2016-10-31 19:37:08
【问题描述】:
我有一个SVG image with an illustration of a cloud。
云将用于多个天气图标。我有another SVG file,它嵌入了云图并添加了另一个图形元素,一个圆圈。
现在,当我直接在浏览器中打开这个主 SVG 文件时,它可以正常显示:
但是,当我将文件用作background-image 时,不会渲染云:
什么鬼?
这不应该是相对路径问题,因为当我在浏览器中调用主 SVG 时图像显示正常(我尝试使用绝对路径无济于事)
这不是剪辑问题 - 如果您更改 JSFiddle 中的
background-size属性,您将看到整个图像区域都被渲染,只是没有云。云是由 Adobe Illustrator 生成的,尚未优化,但看起来还不错。
这是主要的 SVG 标记:
<svg width="100%" height="100%" viewBox="0 0 200 200" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<circle cx="0" cy="-0" r="30" style="fill:red" />
<image x="12" y="12" width="20" height="40" xlink:href="elements/cloud.svg" />
</svg>
我做错了什么?
我在 Safari 9.1.2 和 OS X 上的最新 Chrome 中对此进行了测试,结果相同。
【问题讨论】:
-
这似乎是一个 Webkit 错误,看来我必须在这里采取不同的路径。 stackoverflow.com/questions/11529857/… 一个清晰、权威的答案将不胜感激