CSS3中Animation动画属性用法详解


Posted in HTML / CSS onJuly 04, 2016

要使用animation动画,先要熟悉一下keyframes,Keyframes的语法规则:命名是由”@keyframes”开头,后面紧接着是这个“动画的名称”加上一对花括号“{}”,括号中就是一些不同时间段样式规则。不同关键帧是通过from(相当于0%)、to(相当于100%)或百分比来表示(为了得到最佳的浏览器支持,建议使用百分比),如下定义一个简单的动画:

CSS Code复制内容到剪贴板
  1. @keyframes myfirst /*定义动画名*/  
  2.     {   
  3.     0%   {background:redleft:0pxtop:0px;} /*定义起始帧样式,0%可以换成from*/  
  4.     25%  {background:yellowleft:200pxtop:0px;}   
  5.     50%  {background:blueleft:200pxtop:200px;}   
  6.     75%  {background:greenleft:0pxtop:200px;}   
  7.     100% {background:redleft:0pxtop:0px;} /*定义结束帧样式,100%可以换成to*/  
  8.     }   
  9.   

@keyframes定义好了,要使其能发挥效果,必须通过animation把它绑定到一个选择器,否则动画不会有任何效果。下面列出了animation的属性:

CSS3中Animation动画属性用法详解

下面设置上述的所有属性

CSS Code复制内容到剪贴板
  1. animation-name:myfirst;   
  2. animation-duration:5s;   
  3. animation-timing-function:linear;   
  4. animation-delay:1s;   
  5. animation-iteration-count:infinite;   
  6. animation-direction:alternate;   
  7. animation-play-state:running;   
  8.   

上述所有代码可以如下简写:

CSS Code复制内容到剪贴板
  1. animation:myfirst 5s linear 2s infinite alternate;   
  2. animation-play-state:running;   
  3.   

浏览器兼容性

Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。

Chrome 和 Safari 需要前缀 -webkit-。

注意:Internet Explorer 9,以及更早的版本,不支持 @keyframe 规则或 animation 属性。

下面给出上面介绍的关于keyframes和animation属性的完整代码示例:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>animation演示</title>  
  6.     <style>    
  7.     div   
  8.     {   
  9.     width:100px;   
  10.     height:100px;   
  11.     background:red;   
  12.     position:relative;   
  13.     animation-name:myfirst;   
  14.     animation-duration:5s;   
  15.     animation-timing-function:linear;   
  16.     animation-delay:1s;   
  17.     animation-iteration-count:infinite;   
  18.     animation-direction:alternate;   
  19.     animation-play-state:running;   
  20.     /* Safari and Chrome: */   
  21.     -webkit-animation-name:myfirst;   
  22.     -webkit-animation-duration:5s;   
  23.     -webkit-animation-timing-function:linear;   
  24.     -webkit-animation-delay:1s;   
  25.     -webkit-animation-iteration-count:infinite;   
  26.     -webkit-animation-direction:alternate;   
  27.     -webkit-animation-play-state:running;   
  28.     }   
  29.   
  30.     @keyframes myfirst /*定义动画名*/   
  31.     {   
  32.     0%   {background:red; left:0px; top:0px;} /*定义起始帧样式,0%相当于from*/   
  33.     25%  {background:yellow; left:200px; top:0px;}   
  34.     50%  {background:blue; left:200px; top:200px;}   
  35.     75%  {background:green; left:0px; top:200px;}   
  36.     100% {background:red; left:0px; top:0px;} /*定义结束帧样式,100%相当于to*/   
  37.     }   
  38.   
  39.     @-webkit-keyframes myfirst /* Safari and Chrome */   
  40.     {   
  41.     0%   {background:red; left:0px; top:0px;}   
  42.     25%  {background:yellow; left:200px; top:0px;}   
  43.     50%  {background:blue; left:200px; top:200px;}   
  44.     75%  {background:green; left:0px; top:200px;}   
  45.     100% {background:red; left:0px; top:0px;}   
  46.     }   
  47.     </style>  
  48. </head>  
  49. <body>  
  50.     <p>该实例在 Internet Explorer 9 及更早 IE 版本是无效的。</p>  
  51.     <div></div>  
  52. </body>  
  53. </html>  

上面代码演示了一个正方形沿着一个正方形轨迹运动,基数次按正方向运动,偶数次按反方向运动,运动过程中还带有颜色变化。具体效果,读者可以自行运行代码观察。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3实现跳动的动画效果
Sep 12 HTML / CSS
微信小程序实现可实时改变转速的css3旋转动画实例代码
Sep 11 HTML / CSS
CSS3 完美实现圆角效果
Jul 13 HTML / CSS
关于css兼容性问题及一些常见问题汇总
May 03 HTML / CSS
CSS3+JavaScript实现炫酷呼吸效果的示例代码
Jun 15 HTML / CSS
html5 Canvas画图教程(1)—画图的基本常识
Jan 09 HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
May 07 HTML / CSS
HTML5 拖放(Drag 和 Drop)详解与实例代码
Sep 14 HTML / CSS
html5默认气泡修改的代码详解
Mar 13 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
Mar 17 HTML / CSS
CSS3 天气图标动画效果
Apr 06 HTML / CSS
Html5新增了哪些功能
Apr 16 HTML / CSS
CSS3圆角边框和边界图片效果实例
Jul 01 #HTML / CSS
CSS3制作酷炫的三维相册效果
Jul 01 #HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
Jul 01 #HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
Jun 28 #HTML / CSS
老生常谈CSS中的长度单位
Jun 27 #HTML / CSS
CSS3制作彩色进度条样式的代码示例分享
Jun 23 #HTML / CSS
css3 transform及原生js实现鼠标拖动3D立方体旋转
Jun 20 #HTML / CSS
You might like
如何利用php+mysql保存和输出文件
2006/10/09 PHP
PHP4 与 MySQL 交互使用
2006/10/09 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
python实现解数独程序代码
2017/04/12 Python
Python学生信息管理系统修改版
2018/03/13 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
什么是聚集索引和非聚集索引
2012/01/17 面试题
汽车销售顾问求职自荐信
2014/01/01 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
委托公证书范本
2014/04/03 职场文书
公路绿化方案
2014/05/12 职场文书
2014年师德承诺书
2014/05/23 职场文书
人事任命书格式
2014/06/05 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书