http://www.w3chtml.com/css3/rules/@keyframes.html

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<title>@keyframes_CSS参考手册_web前端开发参考手册系列</title>
<style>
#sport{position:relative;width:500px;height:400px;border:1px solid #ddd;}
#staff{position:absolute;z-index:3;bottom:10px;left:10px;overflow:hidden;width:180px;height:8px;border-radius:3px;background:#ddd;line-height:20;
 -moz-animation:staff 3s linear;
 -webkit-animation:staff 3s linear;
 -o-animation:staff 3s linear;
 -ms-animation:staff 3s linear;
 animation:staff 3s linear;
}
#ball{position:absolute;z-index:3;bottom:20px;left:90px;overflow:hidden;width:30px;height:30px;border-radius:15px;box-shadow:0 0 10px rgba(204,102,0,.8);background:#F6D66E;background:-moz-linear-gradient(top,#fff,#F6D66E);background:-webkit-linear-gradient(top,#fff,#F6D66E);background:-o-linear-gradient(top,#fff,#F6D66E);background:-ms-linear-gradient(top,#fff,#F6D66E);background:linear-gradient(top,#fff,#F6D66E);line-height:20;
 -moz-animation:ball 3s linear;
 -webkit-animation:ball 3s linear;
 -o-animation:ball 3s linear;
 -ms-animation:ball 3s linear;
 animation:ball 3s linear;
}
@-moz-keyframes ball{
 0%{-moz-transform:translate(0,0);}
 5%{-moz-transform:translate(-90px,-100px);}
 18%{-moz-transform:translate(0,-350px);}
 35%{-moz-transform:translate(200px,0);}
 46%{-moz-transform:translate(380px,-160px);}
 60%{-moz-transform:translate(250px,-350px);}
 78%{-moz-transform:translate(60px,0);}
 100%{-moz-transform:translate(0,0);}
}
@-webkit-keyframes ball{
 0%{-webkit-transform:translate(0,0);}
 5%{-webkit-transform:translate(-90px,-100px);}
 18%{-webkit-transform:translate(0,-350px);}
 35%{-webkit-transform:translate(200px,0);}
 46%{-webkit-transform:translate(380px,-160px);}
 60%{-webkit-transform:translate(250px,-350px);}
 78%{-webkit-transform:translate(60px,0);}
 100%{-webkit-transform:translate(0,0);}
}
@-o-keyframes ball{
 0%{-o-transform:translate(0,0);}
 5%{-o-transform:translate(-90px,-100px);}
 18%{-o-transform:translate(0,-350px);}
 35%{-o-transform:translate(200px,0);}
 46%{-o-transform:translate(380px,-160px);}
 60%{-o-transform:translate(250px,-350px);}
 78%{-o-transform:translate(60px,0);}
 100%{-o-transform:translate(0,0);}
}
@-ms-keyframes ball{
 0%{-ms-transform:translate(0,0);}
 5%{-ms-transform:translate(-90px,-100px);}
 18%{-ms-transform:translate(0,-350px);}
 35%{-ms-transform:translate(200px,0);}
 46%{-ms-transform:translate(380px,-160px);}
 60%{-ms-transform:translate(250px,-350px);}
 78%{-ms-transform:translate(60px,0);}
 100%{-ms-transform:translate(0,0);}
}
@keyframes ball{
 0%{transform:translate(0,0);}
 5%{transform:translate(-90px,-100px);}
 18%{transform:translate(0,-350px);}
 35%{transform:translate(200px,0);}
 46%{transform:translate(380px,-160px);}
 60%{transform:translate(250px,-350px);}
 78%{transform:translate(60px,0);}
 100%{transform:translate(0,0);}
}
@-moz-keyframes staff{
 0%{-moz-transform:translate(0,0);}
 6%{-moz-transform:translate(260px,0);}
 20%{-moz-transform:translate(300px,0);}
 30%{-moz-transform:translate(300px,0);}
 40%{-moz-transform:translate(200px,0);}
 65%{-moz-transform:translate(40px,0);}
 79%{-moz-transform:translate(0,0);}
 100%{-moz-transform:translate(0,0);}
}
@-webkit-keyframes staff{
 0%{-webkit-transform:translate(0,0);}
 6%{-webkit-transform:translate(260px,0);}
 20%{-webkit-transform:translate(300px,0);}
 30%{-webkit-transform:translate(300px,0);}
 40%{-webkit-transform:translate(200px,0);}
 65%{-webkit-transform:translate(40px,0);}
 79%{-webkit-transform:translate(0,0);}
 100%{-webkit-transform:translate(0,0);}
}
@-o-keyframes staff{
 0%{-o-transform:translate(0,0);}
 6%{-o-transform:translate(260px,0);}
 20%{-o-transform:translate(300px,0);}
 30%{-o-transform:translate(300px,0);}
 40%{-o-transform:translate(200px,0);}
 65%{-o-transform:translate(40px,0);}
 79%{-o-transform:translate(0,0);}
 100%{-o-transform:translate(0,0);}
}
@-ms-keyframes staff{
 0%{-ms-transform:translate(0,0);}
 6%{-ms-transform:translate(260px,0);}
 20%{-ms-transform:translate(300px,0);}
 30%{-ms-transform:translate(300px,0);}
 40%{-ms-transform:translate(200px,0);}
 65%{-ms-transform:translate(40px,0);}
 79%{-ms-transform:translate(0,0);}
 100%{-ms-transform:translate(0,0);}
}
@keyframes staff{
 0%{transform:translate(0,0);}
 6%{transform:translate(260px,0);}
 20%{transform:translate(300px,0);}
 30%{transform:translate(300px,0);}
 40%{transform:translate(200px,0);}
 65%{transform:translate(40px,0);}
 79%{transform:translate(0,0);}
 100%{transform:translate(0,0);}
}
</style>
</head>
<body>
<div id="sport">
 <span id="ball">弹球</span>
 <span id="staff">滑杆</span>
</div>
</body>
</html>

CSS3 @keyframes 语法的更多相关文章

  1. CSS3 @keyframes 规则

    今天来给大家分享一下CSS3 @keyframes 规则! 在你了解CSS3 @keyframes 规则时我先来给大家说说什么是css3中的动画 动画是使元素从一种样式逐渐变化为另一种样式的效果. 您 ...

  2. css3 @keyframes、transform详解与实例

    一.transform 和@keyframes动画的区别: @keyframes动画是循环的,而transform 只执行一遍. 二.@keyframes CSS3中添加的新属性animation是用 ...

  3. CSS3 @keyframes 动画

    CSS3的@keyframes,它可以取代许多网页动画图像,Flash动画,和JAVAScripts. CSS3的动画属性 下面的表格列出了 @keyframes 规则和所有动画属性: 浏览器支持 表 ...

  4. animation css3动画与CSS3 @keyframes担配使用创建往复平缓动画

    通过 @keyframes 规则,您能够创建动画. 创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式. 在动画过程中,您能够多次改变这套 CSS 样式. 以百分比来规定改变发生的时间,或者通 ...

  5. CSS3 keyframes动画实现弹跳效果

    首先,“回到顶部”.“用户反馈”这两个按钮是通过定位放在左下角上. (1)“回到顶部”的按钮只有当滚动条有出现下滑时才出现 (2)“用户反馈”按钮,用户刚打开时会抖动一下,引起用户的注意,然后才定住. ...

  6. CSS3 @keyframes 用法(简单动画实现)

    定义: 通过 @keyframes 规则,能够创建动画. 创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式. 在动画过程中,可以多次改变这套 CSS 样式. 以百分比来规定改变发生的时间,或 ...

  7. CSS3 - @keyframes

    语法 @keyframes animationname { keyframes-selector {css-styles;} } 值 描述 animationname 必需.定义动画的名称. keyf ...

  8. css3 @keyframes用法

    使用@keyframes规则,可以创建动画. 在动画的过程中,可以多次更改css样式的设定. 对于指定的变化:发生时用0%,或关键字“from”和“to”,这与0%和100%相同. 0%:开头动画. ...

  9. CSS3 @keyframes 规则以及animation介绍和各种动画样式说明

    一个好网站:http://www.jqhtml.com/ 如需在 CSS3 中创建动画,您需要学习 @keyframes 规则. @keyframes 规则用于创建动画.在 @keyframes 中规 ...

随机推荐

  1. MVC架构杂谈

    来源:伯乐在线专栏作者 - 林欣达 链接:http://ios.jobbole.com/86895/ 点击 → 了解如何加入专栏作者 前言 MVC是软件工程中的一种软件架构模式,它把软件系统分为三个基 ...

  2. 通过JSTL用表格的形式显示

    <%@ page language="java" import="java.util.*, cn.hncu.domain.*" pageEncoding= ...

  3. arcgis通过 Python 使用工具 获得结果信息

    通过 Python 使用工具 ArcGIS 10 每个地理处理工具都具有一组固定的参数,这些参数为工具提供执行所需的信息.工具通常具有定义一个或多个数据集的输入参数,这些数据集一般用于生成新的输出数据 ...

  4. 通过虚拟机VMware来练习安装ESXi

    关于VMware vSphere组件ESXi,大家请自行百度.大概的意思我简单的先理解为这个组件是通过在服务器上安装上ESXi系统,继而虚拟化整个服务器的硬件资源为之后虚拟各种客户端所用.相比较大家较 ...

  5. CentOS7使用VPN上网

    安装epel源 $ sudo yum install epel-release 安装软件包 $ sudo yum install NetworkManager-pptp NetworkManager- ...

  6. day-5

    /* 还有几半天了 上午考试暴力暴力暴力... 亏我还写了对拍 没有卵用 T2 差点事 T3不难却没咋么认真想 这tm就很尴尬了23333 下午整理题 一下午.... 晚上打月赛 + 单调队列 继续说 ...

  7. 万网免费主机wordpress快速建站教程-域名申请

    在上一篇文章中,小伙伴们已经申请好了万网的免费主机,接下来教大家如何申请域名. 由于万网免费主机要绑定在阿里备案的域名,现在以万网的域名注册为例子. 首先进入万网域名注册页面(http://www.n ...

  8. VS 2013 编译和使用 Boost

    以 1.58.0 版本 boost 为例, 当前系统版本为 Windows 8.1 x64   1 编译boost  当前解压路径 "D:\Libraries\boost_1_58_0&qu ...

  9. SignalR: The new old thing

    As you can see, this is my first blog posted in cnblog. If you find any mistake, don’t hesitate to t ...

  10. C++写一个排列组合小程序

    今天突然想到一个问题,有时候,针对同一个事件有多种反映,特别是游戏AI当中,这种情况下需要采取最适合的方案,哪种方案最适合,可以将每种方案的结果或影响都计算一遍,从而选择最合适的.最基本就是一个排列组 ...