利用css3-animation来制作逐帧动画
Posted 我_爱编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用css3-animation来制作逐帧动画相关的知识,希望对你有一定的参考价值。
参考:https://www.qianduan.net/css3-animation/
利用css3-animation来制作逐帧动画
常见用法:
animation:mymove 4s ease-out 1s backwards; @-webkit-keyframes mymove /*Safari and Chrome*/ { from {left:0px;} to {left:200px;} }
解释:
mymove :keyframes的名称;
4s:动画的总时间;
ease-out: 快结束的时候慢下来;
1s:停顿1秒后开始动画;
backwards:动画结束后回到原点
默认:播放一次
兼容主流浏览器:
.test{ -webkit-animation: < 各种属性值 >; -moz-animation: < 各种属性值 >; -o-animation: < 各种属性值 >; animation: < 各种属性值 >; }
animation-name,规定要绑定的keyframes
的名称,随便你取,不过为了日后维护的方便,建议取一个跟动作相关名称相近的名称比较好。比如要我们要绑定一个跑的动作,那么可以命名为run。
time,这里有两个时间,前面一个是规定完成这个动画所需要的时间,全称叫animation-duration
,第二个time为动画延迟开始播放的时间,全称叫animation-delay
,这两个数值可以用秒’s’也可以用微秒’ms’来写,1000ms=1s,这个不用一一介绍。
animation-timing-function,规定动画的运动曲线,这里有9个值,分别是ease
| linear
| ease-in
| ease-out
| ease-in-out
| step-start
| step-end
| steps
([, [ start
| end
] ]?) | cubic-bezier(x1, y1, x2, y2)
ease
:动画缓慢开始,接着加速,最后减慢,默认值;linear
:动画从头到尾的速度是相同的;ease-in
:以低速开始;ease-out
:以低速结束;ease-in-out
:动画以低速开始和结束;效果一样 (按步数)steps
.test1{ background:url(http://img.xiaoho.com/2014/12/test.png) no-repeat 0 0; -webkit-animation:run 350ms steps(1) infinite 0s;} @-webkit-keyframes run { 0% { background-position:0; } 20% { background-position:-90px 0; } 40% { background-position:-180px 0; } 60% { background-position:-270px 0; } 80% { background-position:-360px 0; } 100% { background-position:-450px 0; } } .test2{ background:url(http://img.xiaoho.com/2014/12/test.png) no-repeat 0 0; -webkit-animation:run 350ms steps(5) infinite 0s;} @-webkit-keyframes run { 100% { background-position:-450px 0; } }animation-iteration-count,动画播放次数,默认值为1,
infinite
为无限制,假如设置为无限制,那么动画就会不停地播放。- animation-direction,规定动画是否反方向运动。
=normal
|reverse
|alternate
|alternate-reverse
第一个值是正常转动播放,默认值,reverse
为反向转动,alternate一开始正常转动,播放完一次之后接着再反向转动,假如设置animation-iteration-count:1
则该值无效,alternate-reverse
一开始为反向转动,播完一次之后按照回归正常转动,交替转动,设置count
为1,则该值无效。 - animation-play-state,定义动画是否运行或暂停,这是后来新增的属性,有两个属性值分别是
running
和paused
。默认值为normal
,动画正常播放。假如是为paused
,那么动画暂停。假如一个动画一开始为运动,那么假如设置paused
那么该动画暂停,假如再设置running
,那么该动画会从刚才暂停处开始运动 - animation-fill-mode,定义动画播放时间之外的状态,顾名思义,要么就是在动画播放完了之后给它一个状态
animation-fill-mode
:none
|forwards
|backwards
|both
;none
,播放完之后不改变默认行为,默认值,forwards
则是停在动画最后的的那个画面,backwards
则是回调到动画最开始出现的画面,both
则应用为动画结束或开始的状态
以上是关于利用css3-animation来制作逐帧动画的主要内容,如果未能解决你的问题,请参考以下文章