一、简介
animation 是一种简写属性,用来指定一组或多组动画
- animation-name:用于描述应动画名字(指定 @keyframes 规则的名字)
- animation-duration:设置动画完成一个周期所需的时间
- animation-timing-function:设置动画在一个周期中的中间值如何计算
- animation-delay:设置动画执行的等待时间
- animation-iteration-count:设置动画停止前的执行次数
- animation-direction:设置动画是正常播放、反向播放,还是在正常和反向播放序列之间来回交替播放
- animation-fill-mode:设置动画执行之前和之后如何将样式应用于其元素
- animation-play-state:设置动画是运行还是暂停
当使用 background 属性时,各个背景属性都有初始值
.test{animation-name: none;animation-duration: 0s;animation-timing-function: ease;animation-delay: 0s;animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: none;animation-play-state: running;}
我们给元素加动画的时一般都使用 animation 这种简写形式,而不是一个个分开写。
二、各个属性
1. animation-name
用于描述应动画名字(指定 @keyframes 规则的名字)
- 类比 transition-property ```css .test{ animation-name: bounce; }
/ 设置的动画的关键帧 / @bounce{ 0% { background-color: orange; color: #000; margin-top: 0; } 100% { background-color: orange; color: #000; margin-top: 40%; } }
<a name="YfwAv"></a>### 2. animation-duration设置动画完成一个周期所需的时间- 类比 [transition-duration](https://www.yuque.com/machaoxue/depository/mqqsrf#kI4DR)```css.test{animation-duration: 1s;}
3. animation-timing-function
设置动画在一个周期中的中间值如何计算
- 类比 transition-timing-function
.test{animation-timing-function: ease-in;}
4. animation-delay
设置动画执行的等待时间
- 类比 transition-delay
.test{animation-delay: 0s;}
5. animation-iteration-count
设置动画停止前的运行次数
- 可以写 infinite 一直运行,可以指定次数 ```css .test{ animation-iteration-count: infinite; }
.test2{ animation-iteration-count: 2; }
.test3{ animation-iteration-count: 1.5; }
<a name="qV8JT"></a>### 6. animation-direction设置动画是正常播放、反向播放,还是在正常和反向播放序列之间来回交替播放- 有四个值可选 normal、reverse、alternate、alternate-reverse```css/* 正常播放 */.test{animation-direction: normal;}/* 反向播放 */.test2{animation-direction: reverse;}/* 先正常再反向来回交替 */.test3{animation-direction: alternate;}/* 先反向再正常来回交替 */.test4{animation-direction: alternate-reverse;}
7. animation-fill-mode
设置动画执行之前和之后如何将样式应用于其元素
- 有四个可选值 none、forwards、backwards、both ```css / 不对元素添加任何样式,默认值 / .test{ animation-fill-mode: none; }
/ 让元素在动画结束后依旧维持动画的最后一帧 / .test2{ animation-fill-mode: forwards; }
/ 让元素初始状态一直维持在动画的第一帧 / .test3{ animation-fill-mode: backwards; }
/ 同时应用 forwards 和 backwards / .test4{ animation-fill-mode: both; }
<a name="eYQS8"></a>### 8. animation-play-state设置动画是运行还是暂停- 有两个可选值 paused、running```css/* 暂停 */.test{animation-play-state: paused;}/* 运行 */.test2{animation-play-state: running;}
三、参考链接
MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/animation
CSS Tricks:https://css-tricks.com/using-multi-step-animations-transitions/
