CSS3 中的@keyframes介绍


Posted in HTML / CSS onSeptember 02, 2014

语法

@keyframes animationname {keyframes-selector {css-styles;}}
animationname 必需。定义动画的名称。
keyframes-selector
必需。动画时长的百分比。
合法的值:
0-100%
from(与 0% 相同)
to(与 100% 相同)
css-styles 必需。一个或多个合法的 CSS 样式属性。

定义和用法
通过 @keyframes 规则,您能够创建动画。
创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。
在动画过程中,您能够多次改变这套 CSS 样式。
以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。
0% 是动画的开始时间,100% 动画的结束时间。
为了获得最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。
注释:请使用动画属性来控制动画的外观,同时将动画与选择器绑定。

目前浏览器都不支持 @keyframes 规则。
Firefox 支持替代的 @-moz-keyframes 规则。
Opera 支持替代的 @-o-keyframes 规则。
Safari 和 Chrome 支持替代的 @-webkit-keyframes 规则。

例:

复制代码
代码如下:

<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation:mymove 5s infinite;
-moz-animation:mymove 5s infinite; /* Firefox */
-webkit-animation:mymove 5s infinite; /* Safari and Chrome */
-o-animation:mymove 5s infinite; /* Opera */
}</p> <p>@keyframes mymove
{
0% {top:0px; left:0px; background:red;}
25% {top:0px; left:100px; background:blue;}
50% {top:100px; left:100px; background:yellow;}
75% {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}</p> <p>@-moz-keyframes mymove /* Firefox */
{
0% {top:0px; left:0px; background:red;}
25% {top:0px; left:100px; background:blue;}
50% {top:100px; left:100px; background:yellow;}
75% {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}</p> <p>@-webkit-keyframes mymove /* Safari and Chrome */
{
0% {top:0px; left:0px; background:red;}
25% {top:0px; left:100px; background:blue;}
50% {top:100px; left:100px; background:yellow;}
75% {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}</p> <p>@-o-keyframes mymove /* Opera */
{
0% {top:0px; left:0px; background:red;}
25% {top:0px; left:100px; background:blue;}
50% {top:100px; left:100px; background:yellow;}
75% {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}
</style>
</head>
<body></p> <p><p><b>注释:</b>本例在 Internet Explorer 中无效。</p></p> <p><div></div></p> <p></body>
</html>
HTML / CSS 相关文章推荐
用CSS3的box-reflect设置文字倒影效果的方法讲解
Mar 07 HTML / CSS
CSS3实现多重边框的方法总结
May 31 HTML / CSS
使用CSS3制作一个简单的进度条(demo)
May 23 HTML / CSS
浅谈CSS3中display属性的Flex布局的方法
Aug 14 HTML / CSS
CSS3实现时间轴特效
Nov 02 HTML / CSS
html5声频audio和视频video等新特性详细说明
Dec 26 HTML / CSS
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
Jan 09 HTML / CSS
纯html5+css3下拉导航菜单实现代码
Mar 18 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
Jan 01 HTML / CSS
HTML5 Canvas 旋转风车绘制
Aug 18 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
Sep 06 HTML / CSS
html中两种获取标签内的值的方法
Jun 10 HTML / CSS
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
Sep 02 #HTML / CSS
css3中背景尺寸background-size详解
Sep 02 #HTML / CSS
css3中transition属性详解
Sep 02 #HTML / CSS
纯css3实现鼠标经过图片显示描述的动画效果
Sep 01 #HTML / CSS
纯css3实现效果超级炫的checkbox复选框和radio单选框
Sep 01 #HTML / CSS
css3设置box-pack和box-align让div里面的元素垂直居中
Sep 01 #HTML / CSS
CSS3实例分享--超炫checkbox复选框和radio单选框
Sep 01 #HTML / CSS
You might like
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
2016/06/29 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
vue-router实现编程式导航的代码实例
2019/01/19 Javascript
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
Python中的测试模块unittest和doctest的使用教程
2015/04/14 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
python八皇后问题的解决方法
2018/09/27 Python
python实现定时压缩指定文件夹发送邮件
2020/12/22 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
adidas美国官网:adidas US
2016/09/21 全球购物
财务简历的自我评价
2014/03/05 职场文书
专题组织生活会发言材料
2014/10/17 职场文书
员工年终考核评语
2014/12/31 职场文书
岳庙导游词
2015/02/04 职场文书
党校个人总结
2015/03/04 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技