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 完美实现圆角效果
Jul 13 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
Apr 26 HTML / CSS
使用CSS3实现SVG路径描边动画效果入门教程
Oct 21 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
Jan 09 HTML / CSS
HTML5 自动聚焦(autofocus)属性使用介绍
Aug 07 HTML / CSS
HTML5 Canvas 旋转风车绘制
Aug 18 HTML / CSS
canvas像素点操作之视频绿幕抠图
Sep 11 HTML / CSS
AmazeUI 缩略图的实现示例
Aug 18 HTML / CSS
CSS 还能这样玩?奇思妙想渐变的艺术
Apr 27 HTML / CSS
CSS完成视差滚动效果
Apr 27 HTML / CSS
CSS几步实现赛博朋克2077风格视觉效果
Jun 16 HTML / CSS
css实现左上角飘带效果的完整代码
Mar 18 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(一)
2012/03/21 PHP
深入php函数file_get_contents超时处理的方法详解
2013/06/03 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
老生常谈PHP中的数据结构:DS扩展
2017/07/17 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
Node.js EventEmmitter事件监听器用法实例分析
2019/01/07 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
Python中关于字符串对象的一些基础知识
2015/04/08 Python
Python统计文件中去重后uuid个数的方法
2015/07/30 Python
python3爬取各类天气信息
2018/02/24 Python
关于初始种子自动选取的区域生长实例(python+opencv)
2020/01/16 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
Whistles官网:英国女装品牌
2020/08/14 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
改革共识倡议书
2014/08/29 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android