本文作者: jsweibo
本文链接: https://jsweibo.github.io/2020/01/04/SVG%E4%B8%AD%E7%9A%84animateTransform%E5%85%83%E7%B4%A0/
摘要
本文主要讲述了:
- 作用
- attribute
正文
作用
设置transform动画
示例:2s后将矩形向 x 轴正方向移动 50 个单位、向 y 轴正方向移动 50 个单位
1 | <svg width="300" height="150" xmlns="http://www.w3.org/2000/svg"> |
示例:2s后将矩形放大3倍
1 | <svg width="300" height="150" xmlns="http://www.w3.org/2000/svg"> |
示例:2s后将矩形以(50, 50)为中心旋转90°
1 | <svg width="300" height="150" xmlns="http://www.w3.org/2000/svg"> |
示例:2s后将矩形的 x 坐标倾斜45°
1 | <svg width="300" height="150" xmlns="http://www.w3.org/2000/svg"> |
示例:2s后将矩形的 y 坐标倾斜45°
1 | <svg width="300" height="150" xmlns="http://www.w3.org/2000/svg"> |
attribute
attributeName
指定在动画过程中需要更改的属性名称
必须手动指定为transform
type
translatescalerotateskewXskewY
to
属性的结束值
dur
动画的持续时间
如果没有时间单位,默认为s
fill
动画结束后的状态
freeze保持最后一帧remove保持第一帧
默认值为remove
repeatCount
动画的重复次数
- 正整数
indefinitely无穷地
repeatDur
重复动画的总持续时间
- 具体时间
indefinite无穷的
如果同时指定repeatCount和repeatDur,则哪个属性指定的时间更短就用哪个。例如:重复 3 次,每次 3 秒,但总持续时间只有 8 秒,则以 8 秒为准。
additive
如何处理相同attributeName上的多个动画
replace取代sum叠加
默认值为replace
示例:rotate把scale给取代了,实际只执行了rotate
1 | <svg width="300" height="150" xmlns="http://www.w3.org/2000/svg"> |
示例:rotate和scale效果叠加
1 | <svg width="300" height="150" xmlns="http://www.w3.org/2000/svg"> |
参考资料
本文作者: jsweibo
本文链接: https://jsweibo.github.io/2020/01/04/SVG%E4%B8%AD%E7%9A%84animateTransform%E5%85%83%E7%B4%A0/
本文对你有帮助?请支持我
- 本文链接: https://jsweibo.github.io/2020/01/04/SVG%E4%B8%AD%E7%9A%84animateTransform%E5%85%83%E7%B4%A0/
- 版权声明: 除非另有说明,否则本网站上的内容根据署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。