文档章节

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

编辑部的故事
 编辑部的故事
发布于 2017/07/13 16:51
字数 1623
阅读 8945
收藏 670

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

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

给 Web 开发人员推荐的开源图形库 —— 2D/3D

给 Web 开发人员推荐的开源图形库 —— 数据可视化

动画

一、效果(Effects)

1、切换和过渡

Animate.css

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

效果预览:点此查看

Magic Animations

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

效果预览:点此查看

Effeckt.css

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

效果预览:点此查看

还有:

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

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

数量太多,不一一列举。

2、悬停

Hover

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

效果预览:点此查看

3、图标

Transformicons

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

4、加载

Loaders.css

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

SpinKit

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

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

5、行为速度(Easing)

d3-ease

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

6、滚动

ScrollReveal

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

ScrollMagic

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

7、视差

Parallax

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

效果预览:点此查看

RELLAX

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

8、翻转(Flip)

React FLIP Move

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

效果预览:点此查看

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

9、数值

CountUp.js

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

10、关键帧/时间轴

Dynamics.js

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

React-Motion

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

11、轨迹/曲线

Mojs

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

Vivus

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

© 著作权归作者所有

共有 人打赏支持
编辑部的故事

编辑部的故事

粉丝 1176
博文 250
码字总数 437863
作品 0
深圳
运营/编辑
私信 提问
加载中

评论(9)

Loveni
Loveni
这个可以mark一下
马丁的早晨
马丁的早晨
收藏
都柏林
都柏林
mark
lemonwater
lemonwater
必须收藏的好文章
wappleat
wappleat
:fire:
SimonYe
SimonYe
我喜欢动图~~
Heanes
Heanes
这个可以mark
开源中国首席罗纳尔多
开源中国首席罗纳尔多
有没有google材质 设计 的相关css
个人分享--web前端学习资源分享

1.前言 时间过得真快,转眼间现在是2017年最后一个星期,而今天也是圣诞节,过几天也是元旦了。每到年底,大家都习惯总结和分享,我也不例外。但是经历,我之前已经发过了,那么我今天就分享...

2017/12/25
0
0
Web 开发中的矢量绘图处理和应用

矢量绘图一直是 Web 开发中一直比较薄弱的环节。本文首先针对不同浏览器详细阐述不同的矢量绘图解决方案,其中包括 HTML5 Canvas、SVG 以及 VML 等技术;之后针对每种不同的技术介绍其实现和...

IBMdW
2011/09/03
1K
0
Web开发中的矢量绘图(vml,svg)处理和应用

前言 1991 年物理学家 Tim Berners-Lee 首次在因特网上发布了 HTML 的第一版描述规范文档。经过了 20 多年的发展,HTML 语言成为如今编程最为广泛的语言和互联网上采用最广的文档格式。虽然 ...

kevin_pang
2014/02/25
0
0
Android开发_推荐一些顶级Android书

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangty0223/article/details/9386813 这两天在网上看到的一些perfect android books , 那就分享给大家,没兴...

张腾元_Ternence
2013/07/19
0
0
使用 PHP 快速生成 Flash 动画

Rich Internet Application 是 Web 2.0 中的新时髦词,并且就 Web 2.0 的实质而言,一个关键组件就是 Adobe Flash。了解如何将 Flash 动画集成到应用程序中,并使用 Ming 库动态生成 Flash ...

红薯
2009/12/18
2.1K
4

没有更多内容

加载失败,请刷新页面

加载更多

Go 使用channel控制并发

前言 channel一般用于协程之间的通信,channel也可以用于并发控制。比如主协程启动N个子协程,主协程等待所有子协程退出后再继续后续流程,这种场景下channel也可轻易实现。 场景示例 总结 ...

恋恋美食
25分钟前
1
0
Apache Flink 漫谈系列 - 持续查询(Continuous Queries)

摘要: 实际问题 我们知道在流计算场景中,数据是源源不断的流入的,数据流永远不会结束,那么计算就永远不会结束,如果计算永远不会结束的话,那么计算结果何时输出呢?本篇将介绍Apache Fl...

阿里云官方博客
29分钟前
4
0
斐波那契堆的理解,节点mark属性和势函数

斐波那契堆 看了好多博客,都是照搬算法导论的内容,没有自己的理解,比如为什么有mark属性,势函数的作用,以及为什么叫斐波那契堆,下面说说鄙人的理解。 势函数 势函数是根节点个数加上2...

杨喆
30分钟前
3
0
NIO源码详解

阻塞io和无阻塞io: 阻塞io是指jdk1.4之前版本面向流的io,服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒 ...

沉稳2018
35分钟前
0
0
如何把已经提交的commit, 从一个分支放到另一个分支

在本地master提交了一个commit(8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f),如何提交的test_2分之上? git checkout test_2git cherry-pick 8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f......

stephen_wu
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部