3、动画

3.1 @keyframes

语法格式:

  1. @keyframes animationname{
  2. keyframes-selector{
  3. css-styles;
  4. }
  5. }

animationname:表示当前动画的名称,它将作为引用时的唯一标识,因此不能为空。
keyframes-selector:关键帧选择器,即指定当前关键帧要应用到整个动画过程中的位置,值可以是一个百分比、from或者to。其中,from和0%效果相同表示动画的开始,to和100%效果相同表示动画结束。
css-style:定义执行到当前关键帧时对应的动画状态,有css样式属性进行定义,多个属性之间用分号分隔,不能为空。

  1. @keyframes appear{
  2. 0%{
  3. opacity:0; /*动画开始时的状态,完全透明*/
  4. }
  5. 100%{
  6. opacity:1;/*动画结束时的状态,完全不透明*/
  7. }
  8. }

3.2 animation-name属性

animation-name 属性为 @keyframes 动画规定名称。
注释:请始终规定 animation-duration 属性,否则时长为 0,就不会播放动画了。
语法格式:
animation-name: keyframename|none;

  1. div{
  2. animation:mymove 5s infinite;
  3. }

3.3 animation-duration属性

animation-duration 属性定义动画完成一个周期所需要的时间,以秒或毫秒计。
语法格式:
animation-duration: time;

  1. div{
  2. animation-duration:2s;
  3. }

3.4 animation-timing-function属性

animation-timing-function 规定动画的速度曲线。
速度曲线定义动画从一套 CSS 样式变为另一套所用的时间。
速度曲线用于使变化更为平滑。
语法格式:
animation-timing-function: value;

描述
linear 动画从头到尾的速度是相同的。
ease 默认。动画以低速开始,然后加快,在结束前变慢。
ease-in 动画以低速开始。
ease-out 动画以低速结束。
ease-in-out 动画以低速开始和结束。
cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。

3.5 animation-delay属性

animation-delay 属性定义动画何时开始。
animation-delay 值以秒或毫秒计。
提示:允许负值,-2s 使动画马上开始,但跳过 2 秒进入动画。
语法格式:
animation-delay: time;

  1. div{
  2. animation-delay:2s;
  3. }

3.6 animation-iteration-count属性

animation-iteration-count 属性定义动画的播放次数。
语法格式:
animation-iteration-count: n|infinite;

  1. div{
  2. animation-iteration-count:3;
  3. }
描述
n 定义动画播放次数的数值。
infinite 规定动画应该无限次播放。

3.7 animation-direction属性

animation-direction 属性定义是否应该轮流反向播放动画。
如果 animation-direction 值是 “alternate”,则动画会在奇数次数(1、3、5 等等)正常播放,而在偶数次数(2、4、6 等等)向后播放。
注释:如果把动画设置为只播放一次,则该属性没有效果。
语法格式:
animation-direction: normal|alternate;

  1. div{
  2. animation-direction:alternate;
  3. }
描述
normal 默认值。动画应该正常播放。
alternate 动画应该轮流反向播放。

3.8 animation属性

与transition属性一样,animation属性也是一个简写属性,用于在一个属性中设置 animation-name、animation-duration、animation-timing-function、animation-delay、animation-iteration-count、animation-direction、六个动画属性。

  1. animation:nimation-name animation-duration animation-timing-function animation-delay animation-iteration-count animation-direction;

简写:

  1. div {
  2. animation: example 5s linear 2s infinite alternate;
  3. }
描述
animation-name 规定需要绑定到选择器的 keyframe 名称。。
animation-duration 规定完成动画所花费的时间,以秒或毫秒计。
animation-timing-function 规定动画的速度曲线。
animation-delay 规定在动画开始之前的延迟。
animation-iteration-count 规定动画应该播放的次数。
animation-direction 规定是否应该轮流反向播放动画。