首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用animateTransform动画SVG

用animateTransform动画SVG
EN

Stack Overflow用户
提问于 2020-04-26 11:22:44
回答 1查看 171关注 0票数 0

尝试用skewX动画SVG元素。然而,它的工作方式并不完全是我所希望的。

  • Now:底部移动到左
  • 目标:上半部分应该移动到右边(并且底部保持位置)

我和transform-origin试过了,但没成功。有什么办法解决这个谜团吗?

代码语言:javascript
复制
<svg xmlns="http://www.w3.org/2000/svg" width="102" height="102" viewBox="-50 -50 102 102">
  <g>

    <rect width="10%" height="50%"
    style="fill:none; stroke:red; stroke-with:3;">

    <animateTransform
      attributeName="transform"
      attributeType="XML"
      type="skewX"
      from="0"
      to="-20"
      begin="0.5s"
      dur="0.2s"
      repeatCount="1"
      fill="freeze"
      id="fallen"/>

    </rect>
  </g>
</svg>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-26 11:37:03

在底部向左移动的同时,使用另一个转换将整个事物移动到右侧。

代码语言:javascript
复制
<svg xmlns="http://www.w3.org/2000/svg" width="102" height="102" viewBox="-50 -50 102 102">
  <g>

    <rect width="10%" height="50%"
    style="fill:none; stroke:red; stroke-with:3;">

    <animateTransform
      attributeName="transform"
      attributeType="XML"
      type="skewX"
      from="0"
      to="-20"
      begin="0.5s"
      dur="0.2s"
      repeatCount="1"
      fill="freeze"
      id="fallen"/>
   <animateTransform
      attributeName="transform"
      attributeType="XML"
      type="translate"
      from="0"
      to="20"
      begin="0.5s"
      dur="0.2s"
      repeatCount="1"
      fill="freeze"
      additive="sum"/>

    </rect>
  </g>
</svg>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61439855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档