我有一条路径,我想使用 来制作动画animateTransform。我想同时平移和缩放路径。这不起作用。显然只有第二个动画在工作:在这种情况下scale。我究竟做错了什么?
svg{
width:300px;
border:1px solid;
fill:none;
stroke:black;
}Run Code Online (Sandbox Code Playgroud)
<svg viewBox="-100 -100 200 200">
<path d="M-36.911,0C-36.911,-19.833,-19.833,-35.911,0,-35.911C19.833,-35.911,35.911,-19.833,35.911,0C35.911,19.833,19.833,35.911,0,35.911C-19.833,35.911,-36.911,19.833,-36.911,0z">
<animateTransform
attributeType="xml"
attributeName="transform"
type="translate"
dur="5s"
values="0,0; 0,-50; 0,0; 0,50;0,0"
repeatCount="indefinite"/>
<animateTransform
attributeType="xml"
attributeName="transform"
type="scale"
dur='5s'
values="1;1.2;1;1.2;1"
repeatCount="indefinite"/>
</path>
<circle r="1" />
</svg>Run Code Online (Sandbox Code Playgroud)
第二个转换需要是additive="sum",这样它就不会取代第一个转换。
svg{
width:300px;
border:1px solid;
fill:none;
stroke:black;
}Run Code Online (Sandbox Code Playgroud)
<svg viewBox="-100 -100 200 200">
<path d="M-36.911,0C-36.911,-19.833,-19.833,-35.911,0,-35.911C19.833,-35.911,35.911,-19.833,35.911,0C35.911,19.833,19.833,35.911,0,35.911C-19.833,35.911,-36.911,19.833,-36.911,0z">
<animateTransform
attributeType="xml"
attributeName="transform"
type="translate"
dur="5s"
values="0,0; 0,-50; 0,0; 0,50;0,0"
repeatCount="indefinite"/>
<animateTransform
attributeType="xml"
attributeName="transform"
type="scale"
dur='5s'
values="1;1.2;1;1.2;1"
repeatCount="indefinite"
additive="sum"/>
</path>
<circle r="1" />
</svg>Run Code Online (Sandbox Code Playgroud)