查看原文
其他

给 Web 开发人员推荐的开源图形库 —— 动画

2017-07-14 OSC-王练 开源中国

长按上图识别二维码报名济南源创会


现代 Web 开发在将体验和功能做到极致的同时,对于美观的追求也越来越高,数据可视化、动画交互、2D/3D 等元素已然成为标配。

以下是为 Web 开发者推荐的一些精品开源图形库,旨在专注于最常见的问题和最常用的东西。将针对动画(Animation)、数据可视化(Data Visualization)、2D/3D 分别整理,欢迎保持关注。


切换和过渡



Animate.css

https://daneden.github.io/animate.css/

一个跨浏览器的 css3 动画库,内置了抖动(shake)、闪烁(flash)、弹跳(bounce)、翻转(flip)、旋转(rotateIn/rotateOut)、淡入淡出(fadeIn/fadeOut)、放大缩小(等多达 60 多种动画效果,几乎包含了所有常见的动画效果。在炫酷的同时,还一直保持着易于使用的特点。


Magic Animations

https://minimamente.com/example/magic_animations/

一个独特的 CSS3 动画特效包,可以自由地使用在 Web 项目中。包括:Magic Effects、Bling、Static Effects、Static Effects Out、Perspective、Rotate、Slide、Math、Tin、Bomb 等各类效果。


Effeckt.css

http://h5bp.github.io/Effeckt.css/

同样是一个包含众多精妙的 CSS3 切换和动画效果库,例如:弹窗、按钮、导航、列表、页面切换等,适用于网站和移动 Web 开发。

还有:

Velocity.js一个简单易用、高性能、功能丰富的轻量级动画库。它能和 jQuery 完美协作,并和 $.animate() 有相同的 API, 但它不依赖 jQuery,可单独使用。 Velocity 不仅包含了 $.animate() 的全部功能, 还有变换、循环、缩放等特色功能。

Anime.js可以和 CSS3 属性、SVG、DOM 元素和 JS 对象一起工作,制作出各种高性能,平滑过渡的动画效果。

数量太多,不一一列举。


悬停



Hover

http://ianlunn.github.io/Hover/

一款基于 CSS3 的悬停特效合集,可以轻松的被应用到链接、按钮、LOGO、SVG 以及图片等元素和修饰上。可用于 CSS、Sass 和 LESS 。


图标



Transformicons

一个结合 SVG、CSS 和 HTML 技术,让图标、按钮和符号具有变种(特殊)动画效果的库。它几乎可完成开发所需的任意动画效果,还提供了一些可选参数方便对效果进行自定义。


加载


Loaders.css

一款追求性能和体验感的加载动画合集,利用纯 CSS 实现多种样式的 Loading 加载动画。这些动画并不需要图片来辅助,以避免昂贵的绘画和布局成本,同时也对运行效率有所保证。


SpinKit

同样是一款  CSS 加载动画合集,可高度自定义动画效果,并且提供多个参数可供选择,运行性能流畅。

类似的 spin.js 也不错,压缩后仅 1.9K,在此不多赘述。


行为速度(Easing)


d3-ease

这是一个让动画更为平滑的 Easing 库。Easing 是一种通过调整时间映射来控制动画中的行为的方法。它最常用于缓慢进退,让动画转换更为平滑,行为更加合理。


滚动


ScrollReveal

一款页面滚动显示动画,可以播放一次也可以播放无限次,能让页面更加有趣,更吸引用户眼球。


ScrollMagic

一个用来创建魔幻滚动交互的 JavaScript 库,可以像使用进度条一样使用滚动条。支持在特定的滚动位置开始一个动画,并且让动画同步滚动条的动作,和把元素粘在一个特定的滚动位置。当用户到达某个滚动位置时,可以调用函数,或以任何其他方式来和当前的滚动位置进行交互。


视差


Parallax

http://matthew.wagerfield.com/parallax/

一款简单,轻量级的视差效果生成器,可以对智能设备点击运动的方向作出反应,不需要任何识别方向,检测位置的设备,只需要游标(鼠标运动的方向等)的方向。


RELLAX

同样是一款主打轻量级的纯 JavaScript 视差效果库,但和 Parallax 的游标视觉差不同的是,它倾向于滚动视觉差。RELLAX 压缩后的版本仅 1021 个字节,在手机等小屏幕设备中,插件会自动限制视觉差特性。

 

翻转


React FLIP Move

http://joshwcomeau.github.io/react-flip-move/examples/#/shuffle?_k=mwoe8c

一个翻转移动的库,旨在解决当列表的顺序发生变化时,项目列表动画化的问题。DOM 节点实际上不能重新排序,创建新的节点,因此简单的 CSS 转换不起作用。react-flip-move 利用 FLIP 技术来计算出这样的转换将是什么样的,并使用硬件加速 CSS 转换。

从阿里的  Ant Design 中提炼出来的动效语言 Ant Motion ,也能实现类似的效果。它同时也是一套 React 框架动效解决方案,提供了单项、组合动画,以及整套解决方案。


数值


CountUp.js

一个无依赖关系的轻量级 JavaScript 类,可以用来快速创建以一种更有趣的动画方式显示数值数据。尽管它的名字叫 countUp,但其实可以在两个方向进行变化,取决于传递的 startVal 和 endVal 参数判断。


关键帧/时间轴


Dynamics.js

一款可以创建物理运动动画效果 JavaScript 库,只需把它引入页面,即可激活任意 DOM 元素的 CSS 属性动画,也可结合 SVG 使用。


React-Motion

一个值得推荐的物理动画库, 使动画看起来像一个弹簧那样,配置合适的劲度系数和空气阻力后,可以使网站增添一些俏皮的元素,让用户体验起来更加舒畅。


轨迹/曲线


Mojs

一个拥有极简的声明式 API ,能够轻松掌控运动轨迹,为运动图形而生的工具库,允许模块化需求定制,有良好的动画效果和用户体验。



Vivus

一个无依赖的轻量级 Javascript 库,可以绘制 SVG 图形的外观,执行 SVG 路径动画。它有各种不同的动画效果可用,允许创建一个自定义脚本来绘制 SVG 。

更多项目推荐请前往公众号菜单栏“读我”->“干货分享”查看。



推荐阅读

轻松建站,20 个 PHP 开源内容管理系统(CMS)推荐

Go 语言飚升至前十,Java 暴跌 6.03%

如何理解并正确使用 MySql 索引

默默维护 30 年,glibc 创始人兼维护者辞职

点击“阅读原文”查看更多精彩内容

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存