基本上,我有一个小小的SVG,它使用一个组来定义一个可重复使用的符号。这个组包含一个我想在CSS中动画的路径。我面临的问题是,只有“原始”元素才会应用CSS,而“已使用”元素则不会。CSS应用于SVG组元素,但未使用时
.player_arrow_marker {
animation-name: player_marker_arrow;
animation-duration: 1s;
animation-iteration-count: infinite;
}
@keyframes player_marker_arrow {
from {
transform: translate(0px, 0px) scale(1);
}
50% {
transform: translate(0px, 10px) scale(1.1);
}
to {
transform: translate(0px, 0px) scale(1);
}
}
<svg viewBox="-50 -50 100 100" style="height:120px;">
<g id="starmap_player_marker_arrow" style="transform: rotate(0deg);">
<path class="player_arrow_marker" fill="#00AEEF" d="M0,0l-10.971,13.702h5.545L0,20.479l5.425-6.776l5.545,0L0,0z M3.889,12.722L0,17.579l-3.89-4.857h-3.975
\t l5.761-7.195L0,8.154l2.104-2.627l5.761,7.195H3.889z"></path>
</g>
<use xlink:href="#starmap_player_marker_arrow" style="transform: rotate(90deg);"></use>
<use xlink:href="#starmap_player_marker_arrow" style="transform: rotate(180deg);"></use>
<use xlink:href="#starmap_player_marker_arrow" style="transform: rotate(270deg);"></use>
</svg>
正如你可以看到,从4个箭,只能由定义的一个过得去的CSS针对性的...怎么会这样?那么应该如何应用将在组的任何实例中为元素定义的CSS规则?
编辑:显然,这不是所有浏览器上的问题。所以现在我的问题变得更像“什么是跨浏览器的方式来做到这一点?”
所有4个移动的Firefox。报告你的UA的一个错误(除非已经有一个),我想。 –
嗯,这很有趣...我使用的是Chrome atm。 – Salketer