CSS3学习之 animation 属性

    发现animation这个新属性很有趣,在此学习,并整理下!

    浏览器支持

       Internet Explorer 10、Firefox 以及 Opera 支持 animation 属性;

       Safari 和 Chrome 支持替代的 -webkit-animation 属性。

    定义和用法

    animation 属性是一个简写属性,用于设置六个动画属性:

  • animation-name
  • animation-duration
  • animation-timing-function
  • animation-delay
  • animation-iteration-count
  • animation-direction

     语法

 animation: name duration timing-function delay iteration-count direction;
描述
animation-name 规定需要绑定到选择器的 keyframe 名称。。
animation-name: keyframename|none;
animation-duration

规定完成动画所花费的时间,以秒或毫秒计。

animation-duration: time;
animation-timing-function 规定动画的速度曲线。
animation-timing-function: value;
animation-delay

规定在动画开始之前的延迟。

animation-delay: time;
animation-iteration-count 规定动画应该播放的次数。
animation-iteration-count: n|infinite(无限次);
animation-direction 规定是否应该轮流反向播放动画。
animation-direction: normal(正常)|alternate(轮流反向播放);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

其中

animation-timing-function 使用名为三次贝塞尔(Cubic Bezier)函数的数学函数,来生成速度曲线。您能够在该函数中使用自己的值,也可以预定义的值:

描述
linear 动画从头到尾的速度是相同的。
ease 默认。动画以低速开始,然后加快,在结束前变慢。
ease-in 动画以低速开始。
ease-out 动画以低速结束。
ease-in-out 动画以低速开始和结束。
cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。

 

 

 

 

 

 

 

案例:

很实际的,一个箭头循环上下跳动

#auto{

-webkit-animation:dd 1s infinite;
animation:dd 1s infinite;

}

@keyframes dd{
0% {transform:translate(0, 10px)}
50% {transform:translate(0, 0)}
100% {transform:translate(0, 10px)}
}
@-webkit-keyframes dd{
0% {-webkit-transform:translate(0, 10px)}
50% {-webkit-transform:translate(0, 0)}
100% {-webkit-transform:translate(0, 10px)}
}

 

注释:animation 这个属性的使用必须结合@keyframes一起使用

百分比的意思就是duration的百分比,如果没有设置duration的话,则表示为无穷大。

transform:translate():含义--变动,位移;也是CSS3里面的新属性。

posted @ 2015-03-27 15:18  Giwen  阅读(270)  评论(0编辑  收藏  举报