网站首页 > 技术文章 正文
介绍
Anime.js是一个轻量级的JavaScript动画库,具有简单但功能强大的API。它与CSS属性,SVG,DOM属性和JavaScript对象一起使用。
Github
在Github上已收获近35k的star数,可见其非常受广大使用者的热爱!
https://github.com/juliangarnier/anime/
特性
- 复杂的交错动画变得简单
- css分层转换
在单个HTML元素上同时以不同的时间对多个CSS变换属性进行动画处理。
- 控件和回调
时间就是一切
使用完整的内置回调和控件功能同步播放,暂停,控制,倒退和触发事件。
- 动画任何东西
HTML,JS,CSS,SVG
安装使用
npm install animejs --save
ES6:
import anime from 'animejs/lib/anime.es.js';
CommonJS:
const anime = require('animejs');
<script src="anime.min.js"></script>
anime({
targets: 'div',
translateX: 250,
rotate: '1turn',
backgroundColor: '#FFF',
duration: 800
});
Demo
- 文字动画
<h1 class="ml1">
<span class="text-wrapper">
<span class="line line1"></span>
<span class="letters">THURSDAY</span>
<span class="line line2"></span>
</span>
</h1>
.ml1 {
font-weight: 900;
font-size: 3.5em;
}
.ml1 .letter {
display: inline-block;
line-height: 1em;
}
.ml1 .text-wrapper {
position: relative;
display: inline-block;
padding-top: 0.1em;
padding-right: 0.05em;
padding-bottom: 0.15em;
}
.ml1 .line {
opacity: 0;
position: absolute;
left: 0;
height: 3px;
width: 100%;
background-color: #fff;
transform-origin: 0 0;
}
.ml1 .line1 { top: 0; }
.ml1 .line2 { bottom: 0; }
var textWrapper = document.querySelector('.ml1 .letters');
textWrapper.innerHTML = textWrapper.textContent.replace(/\S/g, "<span class='letter'></span>");
anime.timeline({loop: true})
.add({
targets: '.ml1 .letter',
scale: [0.3,1],
opacity: [0,1],
translateZ: 0,
easing: "easeOutExpo",
duration: 600,
delay: (el, i) => 70 * (i+1)
}).add({
targets: '.ml1 .line',
scaleX: [0,1],
opacity: [0.5,1],
easing: "easeOutExpo",
duration: 700,
offset: '-=875',
delay: (el, i, l) => 80 * (l - i)
}).add({
targets: '.ml1',
opacity: 0,
duration: 1000,
easing: "easeOutExpo",
delay: 1000
});
- 块状动画
- 徽标动画
- 球状动画
总结
anime是一个非常值得使用的动画引擎,它足够简单,足够满足需求,足够的轻量,足够的惊艳!enjoy it!
- 上一篇: CSS属性值函数(1)概述及语法
- 下一篇: 填坑:transform元素导致zindex失效终极方法
猜你喜欢
- 2024-11-18 Three.js建模基础
- 2024-11-18 CSS3之3D魔方鼠标控制酷炫效果
- 2024-11-18 CSS中的绘制顺序,chrome和firefox在使用3D变换时的不同点
- 2024-11-18 css 3D transform 感性理解
- 2024-11-18 前端进阶打卡题目汇总,赶紧码住
- 2024-11-18 有趣的 CSS 数学函数
- 2024-11-18 CSS 知识总结—CSS动画
- 2024-11-18 CSS3 变形与透视,让你的页面更生动
- 2024-11-18 前端学习,那些新增内容的学习HTML与CSS进阶
- 2024-11-18 前端CSS面试题-7
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-