原因

原因很简单,我不想成为一个api前端工程师,想能够多学一点。偶尔的喜欢做一些html可能难以完成的效果,去年用canvas写了一份简单的gant图,感觉还不错。后来画流程图的时候搜索各大网站发现都是用svg做的图形而非canvas,于是决定研究一下。本篇算是一个这段时间学习svg效果的自我总结。

svg基础我就不多说了,主要说一下几个好玩的动画效果。

线条动画

在svg中添加动画真的很方便,可以使用css3动画或者js来写,也可以通过svg 的相关动画标签来写。

曾经看过一个很炫的效果,几根小线条慢慢增长,然后组成一个文字logo,这个小效果可以用svg轻松实现。svg中有一个text标签,可以决定显示文字的填充和边线,同时可以通过 stroke-dasharray 属性来决定边线的虚线。我们都知道虚线是虚实相间的一条线段。于是这个效果其实等同于实线段慢慢边长,虚线段慢慢变短的过程。还有一些其他关于线条的小效果,具体请看代码。或许有时候想看多彩多样的线条?很简单那,多定义几条线条就行了。代码

运动轨迹

在html中通过js实现一条运动轨迹自然是可行的,或者通过css 的过渡效果或者动画都行。但是显然svg实现的话会更加灵活多变。因为svg有一个重要属性:path,几乎可以记录并描出任何轨迹。

运动轨迹自然也是属于动画,同样是采用svg中的动画标签。不过这里有专门的关于运动的标签:animateMotion。具体请看代码。同时这个标签可以设置运动物品在运动过程中的朝向,很方便。

变形动画

css3 中有对元素的变形,svg中也有类似的标签管理。同时让变形过程具备动画效果。同时多个变形效果可以放置多个标签并添加additive属性来进行拆分处理。当然这里变形不建议使用svg的动画,css3的效果更棒.具体请看代码

将来计划

基本上许多svg特效是由这些基本动画和特定的path路径来组合完成的。将来空闲时间将会结合svg和js 重新写一份gant图的demo。原因有几点:

canvas 固然比svg强大,但是感觉在简单图形处理上使用svg会更加的简洁。

svg在元素的选择上强于canvas,我可以通过js直接获取想要元素,而canvas需要通过计算和关键值来改变

就是想提升一下自己,多学一点其他图形化的知识,以后遇到特效方面的内容可以多一条选择。

感谢阅读,主要参考文章在这里

作者简介: 张栓,人和未来大数据前端工程师,专注于html/css/js的学习与开发。

js svg语音波动动画_整理一些有趣的svg动画相关推荐

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

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

  2. js svg语音波动动画_11 个非常受欢迎的 JavaScript 动画库,值得学习!

    1.Three.js 超过46K的星星,这个流行的库提供了非常多的3D显示功能,以一种直观的方式使用 WebGL.这个库提供了. .CSS3D 和 WebGL渲染器,让我们在设备和浏览器之间创建丰富的 ...

  3. android svg指纹录取动画_你知道几种前端动画的实现方式?

    随着互联网的持续发展,H5 页面作为与用户直接交互的表现层越来越复杂,呈现的形式也越来越丰富,从而也要求 H5 页面具有更多的花样性及动画效果.那前端实现动画效果的方式有哪些呢,大致有如下几种: 一. ...

  4. js svg 转成文件_【非标题党】SVG 图标看我就够了

    都 2020 了如果你还没有在项目中使用过 SVG,就好比你没有在项目使用过 REACT 或 VUE 一样. 在不考虑兼容性(IE8+)的情况下,SVG 应该是目前解决项目中图标问题的最佳方案,没有之 ...

  5. android刷新时的圆形动画_【Android】圆形揭露动画

    在Android系统中提供了一种圆形的揭露动画,具体表现为一个view以圆形的形式展开.揭示.所谓揭露动画,就是一种用于 View 之间,甚至界面之间的特殊过渡动画效果.通过ViewAnimation ...

  6. js svg语音波动动画_SVG实现环形进度条的原理

    之前在项目中遇到一个环形进度条的需求,要求能实时更新进度,脑海中瞬间便蹦出css,svg,canvas3中方案,对于3种方案个人更偏向于svg,用法简单,代码量也很少,同时也便于实时控制.具体效果如下 ...

  7. svg 动画_根据AI导出的SVG path制作SVG线条动画

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 首先祝大家2019新年快乐,万事大吉,猪事顺利,阖家欢乐. 前面文章SVG 线条动画基础入门知识学习到了基础知识,现在来给 ...

  8. js大屏导出图片_整理了30个实用可视化大屏模板,附源文件+工具

    最近新接手了一个大屏项目,从前期的调研需求到原型设计再到模型开发,前前后后折腾了大半个月,这个过程中也踩了不少坑,深感大屏项目开发的不易(领导要求实在是太高),也借此把我之前收集的可视化大屏模板分享给 ...

  9. h5画布动画_如何使用CCapture保存画布动画

    h5画布动画 by Ibby EL-Serafy 由Ibby EL-Serafy 如何使用CCapture保存画布动画 (How to save canvas animations with CCap ...

最新文章

  1. Riak VClock
  2. django 与 百度 ueditor 富文本编辑器集成
  3. 直接排序python实现
  4. 第14课:动手实战中文命名实体提取
  5. ASP.NET 图片剪辑控件
  6. argb可以和rgb同步吗_神光同步酷炫幻彩,安钛克光棱120 RGB风扇套装
  7. java数组的用法_Java数组的使用
  8. 系统设计面试的答题思维框架
  9. cte公用表表达式_SQL Server中的CTE; 查询公用表表达式
  10. 什么是超级浏览器?有什么作用?如何选择?
  11. 计算机键盘在哪里,电脑键盘上的Pause键在哪?
  12. huge形式_Linux hugepage使用与实现
  13. Unity Bounds的理解
  14. 深度信念网络_【文章推荐】应用于油中溶解气体分析的深度信念网络与典型神经网络对比研究...
  15. Unity3D-摄像机详解
  16. 英语基础语法学习(B站英语电力公司)
  17. tui-editor富文本编辑器组件
  18. 体系结构 | 五段流水线 | 流水线技术
  19. Windows电脑开机蓝屏(1)
  20. 酒美网宣布完成B轮融资 投资方或为罗斯柴尔德家族

热门文章

  1. html设置默认选中状态,html中select标签用法解析及如何设置select的默认选中状态...
  2. python系列—数据类型篇(数值型)
  3. 使用EMU8086学习汇编
  4. python transpose与permute函数详解
  5. SVN命令解析以及问题解决(update...)
  6. icmp回复报文_ICMP分为()和查询报文两类
  7. 社科院房地产蓝皮书:北京房价今年易涨难跌
  8. linux删除历史操作命令
  9. 利用CXF wsdl2java生成java代码
  10. Spring boot 加Mybatis加dubble多数据源配置