是否可以使用javascript和/ css修改背景svg图像?

5 javascript css svg image

就我而言,我有一个背景图像,设置为重复x.我想知道背景图像是否可以是svg,如果是这样,有没有办法通过css或javascript控制它的节点?

我一直在使用SVGInjection来动画插入带有标签的svg图像,但是当svg是背景图像时,我还没有找到办法做同样的事情.

rfo*_*nal 0

我的理解是……如果背景图像是从文件加载而不是嵌入到页面中,则它们可以是 SVG。

要通过 JS 或 CSS 更改背景,您必须有权访问嵌入式版本。

有一种方法可以做到这一点......

body { background-image: 
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><linearGradient id='gradient'><stop offset='10%' stop-color='%23F00'/><stop offset='90%' stop-color='%23fcc'/> </linearGradient><rect fill='url(%23gradient)' x='0' y='0' width='100%' height='100%'/></svg>");
      }
Run Code Online (Sandbox Code Playgroud)

...基本上,URL 是嵌入了 SVG 的字符串。您需要创建一个函数来重建并在每次重建时进行更改。

  • 我知道这一点(忘记了,但知道),但是重新加载可能会变得非常尴尬,因为 URL 本质上是一个字符串......每次都必须重新构建。所以我想我错了,只要每次更改时重新创建 SVG 就可以完成,但我不确定我是否愿意走这条路。 (2认同)