在SVG SMIL中堆叠animate和animateTransform的正确方法?

在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

当尝试在SVG中组合属性动画和转换动画时,我在Chromium(78.0.3904.97)和Firefox(70.0.1)中得到了两个不同的最终结果,这两个版本都在Linux上:

铬:

火狐:

前一种行为是我所期望的,因为这两种动画都应该应用。半径动画必须放置在其应用的元素内,animateTransform元素必须放置在任何元素内。 此外,如果移除变换动画,Firefox将应用半径动画

为什么我不能在浏览器间获得预期的行为?这一级别的SMIL应该得到这两者的支持

<?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分支上的回归:

这是最近发现的一个错误