利用css3-animation实现逐帧动画效果


Posted in HTML / CSS onMarch 10, 2016

本文分享了用css3-animation来制作逐帧动画的实现方法,供大家参考,具体内容如下

常见用法:

CSS Code复制内容到剪贴板
  1. :hover{ animation:mymove  4s ease-out 1s backwards;}   
  2. @-webkit-keyframes mymove /*Safari and Chrome*/ { from {left:0px;} to {left:200px;} }   
  3. 复制代码   
  4. 解释:   
  5. mymove :keyframes的名称;   
  6. 4s:动画的总时间;     
  7. ease-out: 快结束的时候慢下来;   
  8. 1s:停顿1秒后开始动画;   
  9. backwards:动画结束后回到原点   
  10. 默认:播放一次   
  11.   
  12. 或者   
  13. transition:left 4s ease-out    
  14. :hover{left:200px}   
  15.   

兼容主流浏览器:

CSS Code复制内容到剪贴板
  1. .test{   
  2.   -webkit-animation: < 各种属性值 >;   
  3.      -moz-animation: < 各种属性值 >;   
  4.        -o-animation: < 各种属性值 >;   
  5.           animation: < 各种属性值 >;   
  6.     }   

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

CSS Code复制内容到剪贴板
  1. .test1{   
  2.  background:url(http://img.xiaoho.com/2014/12/test.png) no-repeat 0 0;   
  3.  -webkit-animation:run 350ms steps(1) infinite 0s;}   
  4. @-webkit-keyframes run {       
  5.     0% {   
  6.            background-position:0;   
  7.     }   
  8.     20% {   
  9.        background-position:-90px 0;   
  10.     }   
  11.     40% {   
  12.        background-position:-180px 0;   
  13.     }   
  14.     60% {   
  15.        background-position:-270px 0;   
  16.     }   
  17.     80% {   
  18.        background-position:-360px 0;   
  19.     }   
  20.     100% {   
  21.        background-position:-450px 0;   
  22.     }   
  23.   
  24. }   
  25. .test2{   
  26.  background:url(http://img.xiaoho.com/2014/12/test.png) no-repeat 0 0;   
  27.  -webkit-animation:run 350ms steps(5) infinite 0s;}   
  28.   
  29. @-webkit-keyframes run {   
  30.     100% {   
  31.        background-position:-450px 0;   
  32.     }   
  33.   
  34. }   
  35.   

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则应用为动画结束或开始的状态。

以上就是本文的全部内容,希望对大家的学习有所帮助。

原文:http://www.cnblogs.com/woloveprogram/p/5258042.html

HTML / CSS 相关文章推荐
html5+css3气泡组件的实现
Nov 21 HTML / CSS
简单介绍CSS3中Media Query的使用
Jul 07 HTML / CSS
魔幻般冒泡背景的CSS3按钮动画
Feb 27 HTML / CSS
css3动画 小球滚动 js控制动画暂停
Nov 29 HTML / CSS
CSS3为背景图设置遮罩并解决遮罩样式继承问题
Jun 22 HTML / CSS
HTML5 Geolocation API的正确使用方法
Dec 04 HTML / CSS
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
Nov 30 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
Jun 09 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
Dec 11 HTML / CSS
Html5应用程序缓存(Cache manifest)
Jun 04 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
Sep 23 HTML / CSS
CSS实现多个元素在盒子内两端对齐效果
Mar 30 HTML / CSS
CSS3对背景图片的裁剪及尺寸和位置的设定方法
Mar 07 #HTML / CSS
用CSS3的box-reflect设置文字倒影效果的方法讲解
Mar 07 #HTML / CSS
CSS3哪些新特性值得称赞
Mar 02 #HTML / CSS
基于DOM+CSS3实现OrgChart组织结构图插件
Mar 02 #HTML / CSS
基于CSS3实现立方体自转效果
Mar 01 #HTML / CSS
CSS3中几个新增加的盒模型属性使用教程
Mar 01 #HTML / CSS
使用CSS3实现多列布局与多背景的技巧
Feb 29 #HTML / CSS
You might like
杏林同学录(七)
2006/10/09 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
浅析js中取绝对值的2种方法
2013/07/09 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
vue+eslint+vscode配置教程
2019/08/09 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
2020/05/10 Javascript
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
小学毕业感言500字
2014/02/28 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript