如何使用SMIL更改SVG的背景颜色

时间:2018-05-11 21:01:51

标签: svg styles smil

没有javascript或其他CSS,是否可以更改SVG的背景颜色(属性样式)?

以下内容无效:

<svg  xmlns="http://www.w3.org/2000/svg" 
 style="stroke:black;fill:black;font-size:18;background-color:orange"
 width="500"
 height="250"
 viewBox="0 0 500 250"
 version="1.0" >
  <set attributeName="style" attributeType="XML" begin="1s" dur="3s" to="background-color:crimson"/>
</svg>

1 个答案:

答案 0 :(得分:0)

background-color不是SVG规范的一部分。要填充SVG,颜色会在背景中使用给定填充创建rect(请参阅this question)。然后,您可以使用set更改rect元素的填充。

<svg xmlns="http://www.w3.org/2000/svg" style="stroke:black;font-size:18" width="500" height="250" viewBox="0 0 500 250"version="1.0">
  <rect width="100%" height="100%" fill="orange">
    <set attributeName="fill" attributeType="XML" begin="1s" dur="3s" to="crimson"/>
  </rect>
</svg>