我们经常使用css3中的animation动画,比如这样:

.fadeIn{

animation: fadeIn .5s ease 1s both;

}

@keyframes fadeIn{

from{

opacity:0;

}

to{

opacity:1

}

}

这样就实现了延时1s,一共0.5s的淡入动画。其中ease是animation-timing-function的默认值。

animation-timing-function使用了三次贝塞尔(Cubic Bezier)函数生成速度曲线,可以让我们的动画产生平滑的过渡。

但是有的时候我们并不想要平滑的过渡,比如想要实现下面小人跑动的效果,该怎么实现呢?

小人跑动动画

我们可以将小人跑动的动作分解,拼成下面的雪碧图:

小人动作分解

通过设置不同的background-position设置不同时间小人不通的动作

@keyframes run {

0% {

background-position: 0 0

}

10%{

background-position: -100% 0

}

20%{

background-position: -200% 0

}

30%{

background-position: -300% 0

}

40%{

background-position: -400% 0

}

50%{

background-position: 0 -100%

}

60%{

background-position: -100% -100%

}

70%{

background-position: -200% -100%

}

80%{

background-position: -300% -100%

}

90%{

background-position: -400% -100%

}

100%{

background-position: 0 0

}

}

用animation让动画动起来吧,想让动画每帧动,而不带中间的过渡效果animation-timing-function要设置成steps函数

.people{

width: 100px;

height: 114px;

background: url(../images/people.png);

-webkit-animation:run 1s steps(1) 0s infinite both;

animation:run 1s steps(1) 0s infinite both;

}

小人跑动动画

小人动起来啦!

或者更简单,把雪碧图拼成这样:

小人动作分解.png

.people{

width: 100px;

height: 114px;

background: url(../images/people.png);

-webkit-animation:run 1s steps(9) 0s infinite both;

animation:run 1s steps(9) 0s infinite both;

}

@-webkit-keyframes run {

to{

background-position: -900% 0

}

}

steps函数接受两个参数,第一个参数会根据你指定的步进数量,把整个动画切分为多帧,第二个可选的参数可以是 start 或 end(默认)。这个参数用于指定动画在每个循环周期的什么位置发生帧的切换动作。还可以使用 step-start 和 step-end 这样的简写属性,它们分别等同于 steps(1, start) 和 steps(1, end)

很多时候我们的gif动画都可以直接用css效果实现,快来试试吧!

css动画帧动画效果,css逐帧动画相关推荐

  1. 【Android笔记25】Android中的动画效果之逐帧动画

    这篇文章,主要介绍Android中的动画效果之逐帧动画. 目录 一.逐帧动画 1.1.什么是逐帧动画 1.2.逐帧动画的使用 (1)创建drawable动画资源<

  2. CSS3 帧动画分段,CSS3 animation实现逐帧动画效果

    css3里面的animation属性非常强大,但是自己用的比较少,最近有次面试就刚好被问到了,趁现在有时间就对animation做一个小总结.同时实现一个逐帧动画的demo作为练习 animation ...

  3. html逐帧动画,谈谈网页中实现逐帧动画

    前言 我们在网页中经常需要一些动画效果,假如你的动画效果需要人为控制停止或者播放,我们一般就不会用gif来实现了!这里,就引出了我们今天讲到的逐帧动画!今天主要讲解几种方式来实现逐帧动画!大家可以根据 ...

  4. 效果奇特的HTML5动画,12个效果奇特的HTML5动画赏析

    本文将为大家分享12个效果奇特的HTML5动画,HTML5强大的动画特性可以让你的网页变得更加生动和富有活力,交互性也会进一步得到提高.一起来看看下面的这些HTML5动画案例,每个案例都提供源代码下载 ...

  5. 效果奇特的HTML5动画,12个效果奇特的HTML5动画赏析 – 码农网

    1.HTML5 Canvas瀑布动画 超逼真 这次我们来分享一款很酷的HTML5 Canvas瀑布动画,瀑布动画非常逼真.整个瀑布动画像是从石头缝里流出来的溪水,然后沿着悬崖飞落下来,效果非常不错. ...

  6. java实现逐帧图片_java – 如何逐帧读取视频?

    我想逐帧读取 java8-64bit中的Mp4文件,并将每个帧作为jpg写入我的硬盘.我的第一次尝试是使用 JavaFX 2.2媒体播放器播放该文件 在View组件上.我想也许会有一个选项来注册一个观 ...

  7. 如何在css中设置音乐效果,css实现简单音乐符效果

    css实现简单音乐符效果 利用css3中的transform.animation.keyframes实现 1 2 3 4 5 6 7 Document 8 9 .box{ 10 width:60px; ...

  8. CSS或JS实现逐帧动画方案

    什么是逐帧动画 逐帧动画是一种在连续的关键帧中分解动画动作,即在时间轴的每一帧上绘制不同内容并使之连续播放成动画的一种常见的动画形式.与CSS关键帧动画不同的是,逐帧动画每一帧需要自行定义:关键帧动画 ...

  9. html5+css3实现动画、逐帧动画效果

    上篇博文中讲明了html5+css3实现2D-3D动画效果,介绍了html5中2d.3d的运用,顺便简明的提到了动画,而本篇将更加详细的说明动画的各运用及说明. 首先我们需要了解css3中动画的意思, ...

  10. Android—逐帧、补间、属性动画

    1.Tween Animation 补间动画 这类动画比较简单,一般就是平移.缩放.旋转.透明度,或者其组合,可以用代码或者xml文件的形式,推荐使用xml文件形式,因为可以复用. 四个动画效果实现类 ...

最新文章

  1. MySQL百万级、千万级数据多表关联SQL语句调优
  2. easyui 删除指定行
  3. 一款黑科技让普通屏幕秒变触摸屏,厉害了我的哥
  4. 中石油训练赛 - Spiral Matrix(找规律)
  5. JAVA-基础(查找文件夹内文件)
  6. Linux下关于gcc、vim、readelf、rpm、yum、彩色进度条的问题
  7. tomcat apr Dockfile
  8. J2EE 领域的一些技术框架结构图
  9. JQuery左右切换实现
  10. 工作流管理系统开发之十 数据库连接及事务设定
  11. Android中浏览PDF文件
  12. blendshapes
  13. 重生之我又是蝌蚪(召唤神龙)源码和无敌版
  14. excel合并sheet表格
  15. 厉害了,可以不重启JVM就替换掉已经加载的类?
  16. mysql 聚簇索引 和聚簇索引 (二级索引)的 那些事
  17. python中模型训练不收敛问题
  18. js 递归树根据子节点获取所有父节点
  19. AcWing1293. 夏洛克和他的女朋友
  20. 卸载流氓软件的整个过程

热门文章

  1. 计算机桌面上的声音图标没了怎么办,右下角小喇叭不见了-电脑桌面右下角有一个调整声音的小喇叭图标没有了,怎么能调出来,电? 爱问知识人...
  2. 微信公众号python开发_基于Python的微信公众平台二次开发(Python常用框架、订阅号开发、公众号开发)...
  3. linux系统下头文件、库文件搜索路径总结
  4. uni-app小程序使用u-pase富文本解析图片时会出现闪现一下默认的尺寸再变成设置的宽高,有种先大后小的闪现
  5. WebMagic springboot 多站点垂直数据采集(支持插队采集)
  6. 知识图谱多跳问答推理研究进展、挑战与展望
  7. 基于K-means的彩色图像聚类之代码实现
  8. 外卖客户端容器化架构的演进
  9. 2021-08-07LabVIEW编程LabVIEW控制FS400308系列气体质量流量计例程与相关资料
  10. 虚拟化技术——虚拟存储