CSS3之动画Animation特效

 

 

 

 

 

 

 

 

CSS3的出现 让我们通过css样式也能写出炫酷的特效

通过 Animation 这个属性 无需插件和jquery也可以轻松的完成简单的动画效果

DEMO:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <style>
 7         div{
 8             width: 200px;
 9             height: 200px;
10             background: #008aff;
11             position: absolute;
12             -webkit-animation:aname 10s;
13             -o-animation:aname 10s;
14             animation:aname 10s;
15         }
16         @keyframes aname {
17             0%{top:0px;left: 0px;}
18             30%{top:0px;left: 500px;}
19             60%{top:500px;left: 0px;}
20             100%{top:0px;left: 0px;}
21         }
22     </style>
23 </head>
24 <body>
25     <div></div>
26 </body>
27 </html>

这段代码演示的是一个蓝色的正方形div在10秒内移动的过程

首先 我们用animation这个属性 声明了一个名称 aname 在这个名称的后面10s是指定这个动画的运行时长为10秒

为什么要写三个animation属性 这三个animation代表着为css3的不同浏览器进行兼容

前缀 -o- 代表着 opera 内核的浏览器

前缀 -webkit- 代表着拥有webkit内核的浏览器 如 Chrome 搜狗浏览器 猎豹浏览器

@keyframes aname(动画名) 这个样式是执行动画用的 它是写在div外面的

@keyframes 内部的 0%{} 是规定动画在运行时长的百分比状态

也就是0%的时候我规定了它的坐标top和left都是0px

当然 还有其他的动画属性

播放的次数 animation-iteration-count

可以写数字也可以写infinite代表无限次

动画的播放曲线 animation-timing-function

默认值 linear 无变化

ease 开始快 结束慢

ease-in  动画以低速开始

ease-out 动画以低速结束

ease-in-out 动画以低速开始和结束

cubic-bezier(参数,参数,参数,参数) 写自己的参数 0到1规定速度

如果不是时间很长的动画 以上并不会有太大的不同

是否逆行播放 animation-direction 默认值 normal 逆行 alternate

是否暂停动画 animation-play-state 默认值 running 暂停 paused

动画何时开启 animation-delay 数字加s

当然以上的所有属性可以简写成这样

animation: aname 5s linear 2s infinite alternate;

 

posted @ 2016-11-08 20:44  不可思议P  阅读(822)  评论(0编辑  收藏  举报