今天讲svg的动画属性 animate、animateTransform、animateMotion(第一节)

SVG 动画元素

animate、animateTransform、animateMotion

animate

基础动画元素。实现单属性的动画过渡效果。

属性 描述
attributeName 要变化的元素属性名称。
from 动画的起始值。
to 指定动画的结束值。
dur 常规时间值或indefinite无限。
repeatCount 表示动画执行次数或indefinite无限。

注:同一个图形元素可以设置单个或多个动画元素

r="20" cx="50" cy="100">

attributeName="cx" from="50" to="220"

dur="3s" repeatCount="indefinite">

attributeName="fill" from="black" to="red"

dur="3s" repeatCount="indefinite">

attributeName="r" from="20" to="50"

dur="3s" repeatCount="indefinite">

从代码上可以看到在circle图形设置了三个动画属性

1、圆心坐标cx从50到220

2、圆的填充颜色从黑到红过渡

3、圆的半径从20到50

统一设置过渡时间为3s,执行次数为无限次。

svg animate动画效果是叠加的,不是replace。

animateTransform

实现transform变换动画效果的。

在这之前我们简单看一下transform的属性参数

属性 描述
translate(x-value, y-value) 偏移。沿x轴方向偏移x-value个单位长度,沿y轴方向偏移y-value个单位长度。
scale(x-value, y-value) 缩放。x轴方向上的长度变为原来的x-value倍,y轴方向上的长度变为原来的y-value倍。
rotate(angle,[centerX, centerY]) 默认以坐标系中(0,0)原点为圆心,顺时针旋转angle度。
skewX(angle) skewY(angle) skewX和shewY可以使x轴和Y轴歪斜。

注:css中提供了一套与svg形变一致的transform属性

之后的课会讲如何用css3来实现svg动画

这是animateTransform属性参数

属性 描述
attributeName 要变化的元素属性名称。
attributeType 支持三个固定参数,CSS/XML/auto. 用来表明attributeName属性值的列表。
type 选择transform属性。
from 动画的起始值。
to 指定动画的结束值。
values 用分号分隔的一个或多个值,可以看出是动画的多个关键值点。
dur 常规时间值或indefinite无限。
repeatCount 表示动画执行次数或indefinite无限。

r="20" cx="50" cy="30">

attributeType="XML" attributeName="transform" begin="0s" dur="2s" type="translate" values="0,0; 0,20; 200,20" repeatCount="indefinite"/>

r="20" cx="50" cy="80">

attributeType="XML" attributeName="transform" begin="0s" dur="2s" type="scale" from="1" to="1.5" repeatCount="indefinite"/>

x="120" y="150" width="100" height="50">

attributeType="XML" attributeName="transform" begin="0s" dur="2s" type="rotate" from="0 170 175" to="-180 170 175" repeatCount="indefinite"/>

x="60" y="260" width="100" height="50">

attributeType="XML" attributeName="transform" begin="0s" dur="2s" type="skewX" from="0" to="20" repeatCount="indefinite"/>

代码依次

1、圆先Y轴向下移到20再X轴向右移到200。

2、圆放大1.5倍。

3、以矩形为中心,旋转矩形。

3、矩形X轴的扭曲20。

下面我们看一个实例,来更好的了解一下。

上面的实例,用到svg的分组元素g和引用元素use

g元素(“group”的简写),用于给逻辑上相联系的图形元素分组。

use元素用于引用文档中其它位置定义的元素。你可以重用已有的元素。

transform="translate(0, 100)" id="car">

d="...">

d="...">

d="...">

xlink:href="#car" transform="translate(450,0)"/>

svg 动画部分还有很多更有意思的属性和事件,我们在之后的课程里陆续介绍给大家。

svg 动画_svg 动画介绍(一)相关推荐

  1. js svg语音波动动画_让动效更酷炫!4 个常见且常用的 SVG 交互动画方法

    本文介绍了 4 种常见的 SVG 交互动画方法,帮你了解 SVG 交互动画的原理和简单方法. 优秀的人机交互和舒适合理的动画,一直是 UX 设计师孜孜不倦追求的目标.但 UX 设计师每天都遇到能做出效 ...

  2. 纯CSS实现帅气的SVG路径描边动画效果

    一.应该人人皆会的基础技术 简而言之,就是让SVG的描边像是有人绘制一样的动画效果. 国外很多相关介绍的文章,来看看一些效果gif吧~ 纯CSS实现帅气的SVG路径描边动画效果 纯CSS实现帅气的SV ...

  3. css图像描边,纯CSS实现帅气的SVG路径描边动画效果

    一.应该人人皆会的基础技术 简而言之,就是让SVG的描边像是有人绘制一样的动画效果. 国外很多相关介绍的文章,来看看一些效果gif吧~ 我至少看到了4篇外文对此技术介绍(参见文末参考文章),觉得挺有意 ...

  4. 超级强大的SVG SMIL animation动画详解

    超级强大的SVG SMIL animation动画详解 本文摘自超级强大的SVG SMIL animation动画详解_Zoomla!逐浪CMS官网 (z01.com),网站看上去有年头了,担心哪天会 ...

  5. [转]超级强大的SVG SMIL animation动画详解

    超级强大的SVG SMIL animation动画详解 本文花费精力惊人,具有先驱前瞻性,转载规则以及申明见文末,当心予以追究. 本文地址:http://www.zhangxinxu.com/word ...

  6. svg配合css3动画_如何使用CSS制作节日SVG图标动画

    svg配合css3动画 正是这个季节,因此在本教程中,我将逐步创建一些CSS动画,以假日为主题的SVG图标. Iconmelon上有一些很棒的图标,该网站上有许多免费的矢量图标集,可让您尽其所能 . ...

  7. uniapp - 超详细实现播放 svg / svga 格式动画组件插件,用于直播间赠送礼物特效动画或项目动画特效较多的应用(新手小白保姆级教程,提供插件+详细运行示例+使用文档+注意事项+格式说明)

    前言 网上关于 uniapp 播放 svg / svga 格式动画的教程很乱,基本上全是 BUG 和各种不兼容,很难复制过来自己用. 本文实现了 在 uniapp 项目中(完美兼容 H5 / App ...

  8. svg配合css3动画_与Sarah Drasner一起使用CSS,JS和SVG进行动画处理,并避免倦怠

    svg配合css3动画 In this episode of the Versioning Show, Tim and David are joined by Sarah Drasner, a tea ...

  9. HTML5 SVG卡通水母动画代码

    介绍 HTML5 SVG卡通水母动画代码,水母游泳动画. 下载链接 http://www.bytepan.com/wcCJwEsUfnC 图片

最新文章

  1. C#自定义工业控件开发
  2. python新手代码-Python的初学者你现在可以自己“看”到代码的运行了!
  3. 包银消费CTO汤向军:消费金融大数据风控架构与实践
  4. 衡量发动机性能的重要指标—升功率
  5. java http get_我是如何进入阿里巴巴的-面向春招应届生Java面试指南(九)
  6. java连接并操作redis_java 使用 jedis 连接 redis 并进行简单操作
  7. NanoPC-T3 64位裸机编程 —— 启动和运行状态切换
  8. python省市区三级联动_Ajax实现省市区三级级联详解
  9. 正则表达式去除括号的问题
  10. MPAndroidChart绘制图形表
  11. python正则表达式处理文本内容_Python处理txt文本
  12. oracle mysql odbc驱动程序_oracle odbc驱动下载
  13. Python读写excel练习_去除excel中乱码行,并添加列
  14. 3D画图软件测试自学,3D版的“画图”!Win10Paint3D上手体验
  15. 打开计算机文件反应慢怎么解决方法,电脑反应慢怎么解决
  16. 虚拟化、文件系统、查找文件
  17. MongoDB之学习【一】:初识Mongo,路远道长,绵绵不绝
  18. python:等间距分割pdf文件
  19. 戴尔710服务器网卡型号怎么查,怎么看网卡驱动有问题_怎么看网卡驱动型号
  20. Ubuntu下使用“Windows徽标键+R”打开终端

热门文章

  1. 离散数学 第二类斯特林数 小白学习笔记
  2. android 自定义布局 根据布局获取类,阿里高级Android面试题解析:Android自定义View—布局过程的自定义...
  3. debian php mysql 安装_debian 安装mysql或者php出问题
  4. Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
  5. vc6.0转vc2010编程中遇到的问题
  6. tf.transpose()个人理解,高纬度的变换,可以将部分维度看成黑盒(整体)
  7. 边框回归:BoundingBox-Regression(BBR)(转)
  8. 深度学习(目标检测。图像分割等)图像标注工具汇总
  9. 理解委托是类型安全的
  10. docker-compose.yml模板文件