【发布时间】:2018-06-30 05:27:40
【问题描述】:
我想将 CSS 样式应用于 SVG <defs> 元素内的 SVG 元素。在 Chrome 和 Internet Explorer(版本 11)中,以下代码可以正常工作,但在 Firefox 中却不行。如何在 Firefox 中也将样式应用于 defs 内的 SVG 元素?
#symbolcontainer.green #mysymbol { fill: green; }
<svg>
<g id="symbolcontainer" class="green">
<defs>
<g id='mysymbol'>
<defs>
<circle id="myCircle" r="2" cx="2" cy="2"/>
</defs>
<use href="#myCircle"/>
</g>
</defs>
<use href="#mysymbol" />
</g>
</svg>
在 chrome 和 Internet Explorer 中,圆圈为绿色(已应用样式),在 Firefox 中为黑色(未应用样式)。
查看并使用此fiddle 进行测试。
我在 stackoverflow 上搜索了“svg firefox style defs”,但没有找到我的问题的答案。
【问题讨论】:
-
#mysymbol { fill: green; }在 FF 中为我工作,我认为 svg 的渲染可能略有不同,因此您的样式声明不正确?
标签: css firefox svg shadow-dom