Animation 转换框问题:填充框和firefox
我在firefox中遇到了一个svg文件问题,我可以将其归结为以下代码(原始图像有几千行代码):Animation 转换框问题:填充框和firefox,animation,firefox,svg,Animation,Firefox,Svg,我在firefox中遇到了一个svg文件问题,我可以将其归结为以下代码(原始图像有几千行代码): 这在chrome和最新版本的edge中可以正常工作。当然,它在InternetExplorer中根本不起作用,但真正困扰我的是,我在firefox中也有问题。它工作得很好---直到我开始移动鼠标??!!然后它开始到处跳跃。我想这和转换框有关:填充框。有什么想法吗?用旋转中心的坐标(以像素为单位)替换变换原点中的50% 可以使用Javascript方法获得旋转中心的坐标 属性变换框:填充框必须从C
这在chrome和最新版本的edge中可以正常工作。当然,它在InternetExplorer中根本不起作用,但真正困扰我的是,我在firefox中也有问题。它工作得很好---直到我开始移动鼠标??!!然后它开始到处跳跃。我想这和转换框有关:填充框。有什么想法吗?用旋转中心的坐标(以像素为单位)替换
变换原点中的50%
可以使用Javascript方法获得旋转中心的坐标
属性变换框:填充框在这种情况下,代码>必须从CSS规则中删除
//计算旋转中心
设bb=sun.getBBox();
控制台对数(bb.x+bb.width/2);
控制台日志(bb.y+bb.height/2)代码>
不要嵌套转换框:填充框,Firefox不喜欢它。是的,我已经猜到了您知道如何在不嵌套变换框的情况下创建相同的动画吗?:-)移除嵌套不起作用吗?不幸的是不起作用。我需要单独缩放每个辐条,然后将整个辐条轮作为一个整体旋转。这就是我嵌套它的原因。也许我错过了什么?
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="15 15 70 70">
<style type="text/css"><![CDATA[
.sun {
transform-box: fill-box;
animation-name: sun-spoke-rotate;
transform-origin: 50%;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-duration: 6s;
}
.sun path {
transform-box: fill-box;
animation-name: sun-spoke-scale;
transform-origin: 50%;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-duration: 6s;
}
@keyframes sun-spoke-scale {
0% { transform: scale(1,1) }
100% { transform: scale(.5,.5) }
}
@keyframes sun-spoke-rotate {
0% { transform: rotate(0); }
100% { transform: rotate(360deg); }
}
]]></style>
<g class="cloud">
<g class="sun">
<path
d="M80.029,43.611h-3.998c-1.105,0-2-0.896-2-1.999s0.895-2,
2-2h3.998c1.104,0,2,0.896,2,2S81.135,43.611,80.029,43.611z"/>
<path
d="M58.033,25.614c-1.105,0-2-0.896-2-2v-3.999c0-1.104,0.895-2,2-2c1.104,
0,2,0.896,2,2v3.999C60.033,24.718,59.135,25.614,58.033,25.614z"/>
<path
d="M42.033,41.612c0,1.104-0.896,1.999-2,1.999h-4c-1.104,
0-1.998-0.896-1.998-1.999s0.896-2,1.998-2h4C41.139,39.612,42.033,40.509,42.033,41.612z"/>
<path
d="M58.033,57.61c1.104,0,2,0.895,2,1.999v4c0,1.104-0.896,2-2,2c-1.105,
0-2-0.896-2-2v-4C56.033,58.505,56.928,57.61,58.033,57.61z"/>
<circle
style="paint-order: stroke; fill: #f0daba; stroke: #4a4f55; stroke-width: 8px"
cx="58.033"
cy="41.612"
r="7.999"/>
</g>
</g>