在SVG SMIL中堆叠animate和animateTransform的正确方法?
当尝试在SVG中组合属性动画和转换动画时,我在Chromium(78.0.3904.97)和Firefox(70.0.1)中得到了两个不同的最终结果,这两个版本都在Linux上: 铬: 火狐: 前一种行为是我所期望的,因为这两种动画都应该应用。半径动画必须放置在其应用的元素内,animateTransform元素必须放置在任何元素内。 此外,如果移除变换动画,Firefox将应用半径动画 为什么我不能在浏览器间获得预期的行为?这一级别的SMIL应该得到这两者的支持在SVG SMIL中堆叠animate和animateTransform的正确方法?,svg,cross-browser,svg-animate,smil,Svg,Cross Browser,Svg Animate,Smil,当尝试在SVG中组合属性动画和转换动画时,我在Chromium(78.0.3904.97)和Firefox(70.0.1)中得到了两个不同的最终结果,这两个版本都在Linux上: 铬: 火狐: 前一种行为是我所期望的,因为这两种动画都应该应用。半径动画必须放置在其应用的元素内,animateTransform元素必须放置在任何元素内。 此外,如果移除变换动画,Firefox将应用半径动画 为什么我不能在浏览器间获得预期的行为?这一级别的SMIL应该得到这两者的支持 <?xml vers
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="480" height="480" viewBox="0 0 480 480" >
<circle cx="200" cy="200" r="150" stroke="black" fill="none"/>
<g>
<circle cx="200" cy="200" r="150" stroke="red" fill="none">
<animate
attributeName="r"
attributeType="XML"
values="150;200"
begin="0s"
dur="2s"
fill="freeze"
repeatCount="1"/>
</circle>
<animateTransform
attributeName="transform"
attributeType="XML"
type="translate"
values="0 0;40 30"
begin="0s"
dur="2s"
fill="freeze"
repeatCount="1"/>
</g>
</svg>
已解决
这是堆叠动画的有效方法,铬渲染是正确的方法
Firefox中的不完整呈现是由于v70分支上的回归:这是最近发现的一个错误