我正在尝试使用CSS设置SVG元素的宽度和高度属性,而不是将它们内联,但我似乎无法在Firefox中使用它.
当我在元素上设置内联宽度/高度时,它显示没有问题.
<rect x="10px" y="50px" fill="green" width="20px" height="20px" />
Run Code Online (Sandbox Code Playgroud)
当我尝试使用CSS设置宽度/高度时,它适用于Chrome,但不适用于Firefox.
.box {
width: 20px;
height: 20px;
}
<rect class="box" x="50px" y="50px" fill="green" />
Run Code Online (Sandbox Code Playgroud)
并非所有SVG元素属性都可以使用CSS设置样式.只有指定为"属性"的那些可以.请参阅SVG规范中的以下列表.
https://www.w3.org/TR/SVG/propidx.html
(开发中)SVG 2规范将允许使用CSS设置所有属性的样式.一些浏览器开始支持这一点.但是现在你将无法做到这一点.
更新:并非所有属性都可以在SVG2中设置样式.可定制的表示属性列表在这里.