前言
上一篇 css3 动画(三)animation 简介 中只是简单的介绍了一下 animation 的子属性,并没有真正的使用。在本篇中,通过阅读 animate.css这个 css 的动画库,来加深对
css3 的 animation 属性的理解。
animate.css
animate.css 是一个具有非常多的动画效果的 css 动画库。动画效果演示
用法
<h1 class="animated flash">Example</h1>
- 加上基础类 animated 以及动画类 flash,就会有 “闪烁” 的动画效果。
动画分类
通过查看 演示,可以看到该动画库的动画类型分为 14 类:
- Attention Seekers
- Bouncing Entrances
- Bouncing Exits
- Fading Entrances
- Fading Exits
- Flippers
- Lightspeed
- Rotating Entrances
- Rotating Exits
- Sliding Entrances
- Sliding Exits
- Specials
- Zooming Entrances
- Zooming Exits
在 animate.css 的源码目录中,也根据其分类分为了 14 个文件夹:
_base.css 基础类
首先看 _base.css 中的基础类:
.animated {
animation-duration: 1s;
animation-fill-mode: both;
}
.animated.infinite {
animation-iteration-count: infinite;
}
.animated.delay-1s {
animation-delay: 1s;
}
.animated.delay-2s {
animation-delay: 2s;
}
.animated.delay-3s {
animation-delay: 3s;
}
.animated.delay-4s {
animation-delay: 4s;
}
.animated.delay-5s {
animation-delay: 5s;
}
可以看到:
.animate 基础类设置了动画的两个子属性:animation-duration 和 animation-fill-mode。其值分别为 1s 和 both。animation-fill-mode 详解
.animate.infinite 基础类设置了动画的播放次数为无限次
.animated.delay-ns 基础类设置了动画的延时
示例:flash 动画源码
然后,我们来看一个动画例子的源码:flash.css
@keyframes flash {
from,
50%,
to {
opacity: 1;
}
25%,
75% {
opacity: 0;
}
}
.flash {
animation-name: flash;
}
在 flash.css 中,首先定义了名为 flash 的关键帧的序列:
@keyframes flash {
from,
50%,
to {
opacity: 1;
}
25%,
75% {
opacity: 0;
}
}
在 0%、50%、100% 关键帧中,其样式 opacity 为 0
在 25%、75% 关键帧中,其样式 opacity 为 1
然后,下面有 .flash 类,使用了 flash 作为 animation-name 属性的值,flash 即为上面定义关键帧的名称
所以,通过添加 flash 类,就可以使元素具有 “闪烁” 的动画效果!
总结
通过上面实例的一个 flash 动画源码的阅读,加深了对 css3 animation 属性的使用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。