css3animation模仿百度音乐的唱片旋转效果

好久没更新blog,补上几篇技术性的文章。好吧,第一篇是关于css3动画animation的使用,要用到keyframes规则。

  

  1 <!doctype html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>Document</title>
  6 <script type="text/javascript" src="jquery.min.js"></script>
  7 <script>
  8 $(function(){
  9     /*$('.wrap').children('i').click(function(){
 10         $(this).toggleClass('action');
 11         if($(this).prev().css('-webkit-animation-play-state') == 'paused'){
 12            $(this).prev().css({
 13               '-webkit-animation-play-state':'running'
 14            });
 15         }else{
 16            $(this).prev().css({
 17               '-webkit-animation-play-state':'paused'
 18            });
 19         }
 20         if($(this).prev().css('-moz-animation-play-state') == 'paused'){
 21            $(this).prev().css({
 22               '-moz-animation-play-state':'running'
 23            });
 24         }else{
 25            $(this).prev().css({
 26               '-moz-animation-play-state':'paused'
 27            });
 28         }    
 29     });*/
 30     $('.wrap>i').click(function(){
 31         $(this).toggleClass('action');
 32         $(this).prev().toggleClass('pause');
 33     });
 34 
 35 });
 36 </script>
 37 <style type="text/css">
 38 .wrap{
 39     width:120px;
 40     height:120px;
 41     position:relative;
 42 }
 43 .avatar-pic{
 44     width:120px;
 45     height:120px;
 46     border-radius:50%;
 47     overflow:hidden;
 48     display:block;
 49     cursor:default;
 50 }
 51 .wrap>i{
 52     position:absolute;
 53     top:42px;
 54     left:42px;
 55     width:36px;
 56     height:36px;
 57     outline:none;
 58     border-radius:50%;
 59     cursor:pointer;
 60 }
 61 .wrap>i:hover{
 62     background-color:rgba(0,0,0,.4);
 63 }
 64 .zantin{
 65     background:url(icons_bds.png) no-repeat 0px -408px;
 66 }
 67 .action{
 68     background:url(icons_bds.png) no-repeat -96px -408px;
 69 }
 70 
 71 
 72 
 73 .avatar{
 74     animation:rotator 10s linear infinite;
 75     -webkit-animation:rotator 10s linear infinite;
 76     -moz-animation:rotator 10s linear infinite;
 77     -o-animation:rotator 10s linear infinite;
 78     -ms-animation:rotator 10s linear infinite;
 79 
 80     -webkit-animation-play-state:running;
 81     -moz-animation-play-state:running;
 82     -o-animation-play-state:running;
 83     -ms-animation-play-state:running;
 84     animation-play-state:running;
 85 }
 86 .pause{
 87     animation-play-state:paused;
 88     -webkit-animation-play-state:paused;
 89     -moz-animation-play-state:paused;
 90     -o-animation-play-state:paused;
 91     -ms-animation-play-state:paused;
 92 }
 93 
 94 @keyframes rotator{
 95     from{transform:rotate(0deg);}
 96     to{transform:rotate(360deg);}
 97 }
 98 @-webkit-keyframes rotator{
 99     form{-webkit-transform:rotate(0deg);}
100     to{-webkit-transform:rotate(360deg);}
101 }
102 @-moz-keyframes rotator{
103     form{-moz-transform:rotate(0deg);}
104     to{-moz-transform:rotate(360deg);}
105 }
106 @-o-keyframes rotator{
107     form{-o-transform:rotate(0deg);}
108     to{-o-transform:rotate(360deg);}
109 }
110 @-ms-keyframes rotator{
111     form{-ms-transform:rotate(0deg);}
112     to{-ms-transform:rotate(360deg);}
113 }
114 </style>
115 </head>
116 <body>
117 <div class="wrap">
118     <a class="avatar-pic avatar" href="javascript:;">
119         <img src="l5.jpg" alt="haha">
120     </a>
121     <i class="zantin action"></i>    
122 </div>
123 </body>
124 </html>

 

css3看起来非常美好,但是实际使用中还是存在不少的不确定性。如果不能看到已经实现的代码模板,你很难确信自己的代码格式就一定正确。所以你可以到http://daneden.me/animate/来观察各种动画效果,选择自己喜欢的动画并生成代码,下载下来后再按照自己的需求来编写动画代码。这样会让你的动画效果实现起来事半功倍(不要担心它达不到你的要求,上面有很多的效果,你可以自己组合,只要你的想象力够丰富)。

posted @ 2015-03-24 16:11  wanwet  阅读(1583)  评论(0编辑  收藏  举报