@keyframes规则实现多重背景的CSS动画
author:一佰互联 2019-04-21   click:290

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


语法
CSS Code复制内容到剪贴板

  1. @keyframes animationname {keyframes-selector {css-styles;}}  


多重背景动画

CSS背景动画在很长时间内一直是一个热门话题,主要因为不需要额外的元素,看起来效果也不错。如果是有多重背景的CSS动画呢,下面我们来看下是如何实现的。
先上个效果图:

CSS代码
 

CSS Code复制内容到剪贴板
  1. @keyframes animatedBird {   
  2.     from {   
  3.         background-position20px 20px30px 80px, 0 0;   
  4.     }   
  5.     to {   
  6.         background-position300px -90px30px 20px, 100% 0;   
  7.     }   
  8. }   
  9. @-webkit-keyframes animatedBird {   
  10.     from {   
  11.         background-position20px 20px30px 80px, 0 0;   
  12.     }   
  13.     to {   
  14.         background-position300px -90px30px 20px, 100% 0;   
  15.     }   
  16. }   
  17. @-ms-keyframes animatedBird {   
  18.     from {   
  19.         background-position20px 20px30px 80px, 0 0;   
  20.     }   
  21.     to {   
  22.         background-position300px -90px30px 20px, 100% 0;   
  23.     }   
  24. }   
  25. @-moz-keyframes animatedBird {   
  26.     from {   
  27.         background-position20px -90px30px 80px, 0 0;   
  28.     }   
  29.     to {   
  30.         background-position300px -90px30px 20px, 100% 0;   
  31.     }   
  32. }   
  33. .animate-area2 {   
  34.     width560px;   
  35.     height190px;   
  36.     background-imageurl(twitter-logo-bird.png), url(treehouseFrog.png), url(bg-clouds.png);   
  37.     background-position20px -90px30px 80px0px 0px;   
  38.     background-repeatno-repeatno-repeatrepeat-x;   
  39.     animation: animatedBird 4s linear infinite;   
  40.     -ms-animation: animatedBird 4s linear infinite;   
  41.     -moz-animation: animatedBird 4s linear infinite;   
  42.     -webkit-animation: animatedBird 4s linear infinite;   
  43.     overflowhidden;   
  44. }  

HTML代码

XML/HTML Code复制内容到剪贴板
  1. <div class="animate-area2"></div>  

demo演示地址:http://www.zjgsq.com/example?pid=1198