利用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个值,分别是easelinear | 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,定义动画是否运行或暂停,这是后来新增的属性,有两个属性值分别是runningpaused。默认值为normal,动画正常播放。假如是为paused,那么动画暂停。假如一个动画一开始为运动,那么假如设置paused那么该动画暂停,假如再设置running,那么该动画会从刚才暂停处开始运动
  • animation-fill-mode,定义动画播放时间之外的状态,顾名思义,要么就是在动画播放完了之后给它一个状态 animation-fill-mode : none | forwards | backwards | bothnone,播放完之后不改变默认行为,默认值,forwards则是停在动画最后的的那个画面,backwards则是回调到动画最开始出现的画面,both则应用为动画结束或开始的状态
时间: 2024-12-14 07:10:37

利用css3-animation来制作逐帧动画的相关文章

background-position和animation制作逐帧动画

利用background-position和animation制作逐帧动画,成品如下: html里面只要写一个元素就够了,动画我们把图片添加成背景做,再让背景在元素内移动.我用了一个整合图片,7个片段 *{margin:0;padding:0;} section{ width: 180px; height: 300px; background: url(images/charector.png) no-repeat; margin: 50px auto; border: 2px solid re

CSS3 animation 逐帧动画

前言 css3 loading动画 animation介绍 定义和用法 animation属性是一个简写属性,用于设置六个动画属性. animation: name duration timing-function delay interation-count direction; 值 描述 animation-name 规定需要绑定到选择器的keyframe名称 animation-duration 规定完成动画所花费的时间,以秒或毫秒为计 animation-timing-function

css3 animation实现逐帧动画

css3里面的animation属性非常强大,但是自己用的比较少,最近有次面试就刚好被问到了,趁现在有时间就对animation做一个小总结.同时实现一个逐帧动画的demo作为练习 animation属性一览 因为animation属性比较多,然后在w3c上看有点蛋疼,干脆也做了一份导图,以后想查看,就一目了然了 使用animation实现逐帧动画 熟悉了animation的属性之后,得找个简单的小项目实现下,逐帧动画好有意思,先跑一个满足下自己思路很简单,就是给元素一个雪碧图的背景,然后添加的

css3 实现逐帧动画

实现逐帧动画需要使用到的是Animation动画,该CSS3的Animation有八个属性:分别是如下:1: animation-name2: animation-duration3: animation-delay4: animation-iteration-count5: animation-direction6: animation-play-state7: animation-fill-mode8: animation-timing-function 含义分别如下:animation-n

Android Animation 动画Demo(Frame逐帧动画)

上一篇介绍了Animation动画其一:Tween补间动画. 这篇文章接下来介绍Animation另一种动画形式:Frame逐帧动画. Frame动画是一系列图片按照一定的顺序展示的过程,和放电影的机制很相似,我们称为逐帧动画.Frame动画可以被定义在XML文件中,也可以完全编码实现(后面会给出这两种实现方式的源代码Demo). 下面分别介绍: 一.定义在xml中实现: 实现效果图: 源代码: 布局文件:main.xml: <?xml version="1.0" encodin

Android动画效果之Frame Animation(逐帧动画)(二)(

前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame Animation(逐帧动画). Frame Animation(逐帧动画): 逐帧动画(Frame-by-frame Animations)从字面上理解就是一帧挨着一帧的播放图片,就像放电影一样.和补间动画一样可以通过xml实现也可以通过java代码实现.接下来借助目前项目中的一个开奖的动画来总结

Android动画效果之Frame Animation(逐帧动画)

前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame Animation(逐帧动画). 其他几种动画效果: Android动画效果之Tween Animation(补间动画) Android动画效果之Frame Animation(逐帧动画) Android动画效果之初识Property Animation(属性动画) Android动画效果之Prop

Android笔记(六十三) android中的动画——逐帧动画( frame-by-frame animation)

就好像演电影一样,播放实现准备好的图片,来实现动画效果. 逐帧动画需要用到AnimationDrawable类,该类主要用于创建一个逐帧动画,然后我们把这个动画设置为view的背景即可. android提供两种方法为AnimationDrawable添加帧:XML定义和JAVA代码创建. XML 因为动画帧的资源需要是一个Drawable对象,所以需要把它放到Drawable目录下.在<animation-list>使用<item>来添加一帧 anima.xml <?xml

iOS CoreAnimation 逐帧动画 CADisplayLink

本文参考:http://www.cnblogs.com/kenshincui/p/3972100.html#autoid-3-0-0总结的: 逐帧动画 CADisplayLink 动画效果: 结合runloop 实现 每次屏幕刷新都会执行此方法(每秒接近60此) 在此方法更新图片, 或者更新layer的某个状态实现动画效果,感觉不到动画的停滞效果 当然UIImageView通过设置animationImages的属性, 然后startAnimating方法播放这组照片,也 可以达到逐帧的动画效果