关键帧动画(keyframes)

不同过渡动画只能定义首尾两个状态,关键帧动画可以定义多个状态,或者用关键帧来说的话,过渡动画只能定义第一帧和最后一帧这两个关键帧,而关键帧动画则可以定义任意多的关键帧,因而能实现更复杂的动画效果。

定义关键帧动画

@keyframes 动画名称{

时间点 {元素状态}

}

绑定关键帧动画

把动画绑定到元素上,我们可以使用animation属性。animation属性有以下这些:

animation-name:名字

animation-duration:time    完成一个周期所花费的秒或毫秒

animation-timing-function:   和transition同加上

             linear匀速

              ease缓慢的开始,变快,缓慢的结束,默认

             ease-out快的的开始,缓慢的结束

              ease-in-out缓慢的开始,缓慢的结束与ease不同的是速率的不同

               cubic-bezier(n,n,n)在函数中定义值0-1

                 step-start:马上跳转到动画结束状态

                 step-end:保持动画开始状态,直到动画执行时间结束,马上跳转到动画结束状态

animstion-delay:time       何时开始

animation-iteration-count: n | infinite(播放无限次)         动画被播放的次数

animation-direction:normal | reverse | alternate | alternate-reverse | initial    规定是否在下一周期逆向的播放

               normal默认值正常播放

              reverse反向播放

               alternate奇数次正向播放,在偶数次反向播放

               alternate-reverse奇数次反向播放,在偶数次正向播放

               initial:设置该属性为它的默认值

animation-play-state:paused | running    规定动画是否在运行或在暂停,默认值是“running”

animation-fill-mode: : none | forwards | backwards |both;  定义动画播放时间之外的状态,顾名思义,要么就是在动画播放完了之后给它一个状态,

             none  默认值,

            forwards  则是停在动画最后的的那个画面,

            backwards  则是回调到动画最开始出现的画面,

            both  则应用为动画结束或开始的状态,

animation:所有属性简写,除了animation-play-state属性

ease-in-out缓慢的开始,缓慢的结束与ease不同的是速率的不同

cubic-bezier(n,n,n)在函数中定义值0-1

ease-in缓慢的开始,快的结束

ease-out快的的开始,缓慢的结束

ease-in-out缓慢的开始,缓慢的结束与ease不同的是速率的不同

cubic-bezier(n,n,n)在函数中定义值0-1

ease缓慢的开始,变快,缓慢的结束,默认

ease-in缓慢的开始,快的结束

ease-out快的的开始,缓慢的结束

ease-in-out缓慢的开始,缓慢的结束与ease不同的是速率的不同

cubic-bezier(n,n,n)在函数中定义值0-1

eg:

关键帧动画(keyframes)_第1张图片

你可能感兴趣的:(关键帧动画(keyframes))