在Firefox中使用CSS设置SVG元素宽度/高度属性

我正在尝试使用CSS设置SVG元素的宽度和高度属性,而不是将它们内联,但我似乎无法在Firefox中使用它.

当我在元素上设置内联宽度/高度时,它显示没有问题.

 

当我尝试使用CSS设置宽度/高度时,它适用于Chrome,但不适用于Firefox.

.Box {
    width: 20px;
    height: 20px;
}

Box" x="50px" y="50px" fill="green" />

>在firefox 43和36中尝试了同样的行为.
>当我检查firefox中缺少的SVG元素时,看起来CSS正在应用,计算出的样式显示正确的宽度/高度值.
>我希望我只是做一些愚蠢的事情而Chrome只是“让它发挥作用”.我想尽可能避免浏览器特定的CSS.

JSFiddle examples

最佳答案
并非所有SVG元素属性都可以使用CSS设置样式.只有指定为“属性”的那些可以.请参阅SVG规范中的以下列表.

https://www.w3.org/TR/SVG/propidx.html

(开发中)SVG 2规范将允许使用CSS设置所有属性的样式.一些浏览器开始支持这一点.但是现在你将无法做到这一点.

更新:并非所有属性都可以在SVG2中设置样式. styleable presentation attributes is here的清单.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效