如何使用 SMIL 更改 SVG 的背景颜色
How to change background color of SVG with 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>
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>
如果没有 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>
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>