纯CSS3仿Windows phone加载动画特效

这是一款使用纯CSS3来制作的Windows phone loading加载动画特效。该loading动画特效使用CSS3 animation属性,通过设置不同的延迟时间来达到loading动画的效果。

 

HTML结构
<span class="l-1"></span>
<span class="l-2"></span>
<span class="l-3"></span>
<span class="l-4"></span>
<span class="l-5"></span>
<span class="l-6"></span>    
CSS样式

在CSS样式中,通过span[class*="l-"]选择器来选择所有的loading圆点。它们被显示为inline-block,并制作为圆形。每一个小圆点都使用指定贝兹曲线的过渡动画,同时还指定了它们的animation-fill-modebothanimation-fill-mode属性用于指定在animation动画之外的时间里动画如何执行。它的取值有:noneforwardsbackwardsboth

forwards属性会在animation动画结束之后继续执行最后一次迭代的动画。backwards属性会在animation动画开始之前执行第一次迭代的动画。both表示的是forwards属性和backwards属性的组合。

span[class*="l-"] {
  height: 4px; width: 4px;
  background: #000;
  display: inline-block;
  margin: 12px 2px;
   
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
   
  -webkit-animation: loader 4s infinite;
  -webkit-animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);
  -webkit-animation-fill-mode: both;
  -moz-animation: loader 4s infinite;
  -moz-animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);
  -moz-animation-fill-mode: both;
  -ms-animation: loader 4s infinite;
  -ms-animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);
  -ms-animation-fill-mode: both;
  animation: loader 4s infinite;
  animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);
  animation-fill-mode: both;
}
@-webkit-keyframes loader {
  0% {-webkit-transform: translateX(-30px); opacity: 0;}
  25% {opacity: 1;}
  50% {-webkit-transform: translateX(30px); opacity: 0;}
  100% {opacity: 0;}
}
 
@-moz-keyframes loader {
  0% {-moz-transform: translateX(-30px); opacity: 0;}
  25% {opacity: 1;}
  50% {-moz-transform: translateX(30px); opacity: 0;}
  100% {opacity: 0;}
}
 
@-keyframes loader {
  0% {-transform: translateX(-30px); opacity: 0;}
  25% {opacity: 1;}
  50% {-transform: translateX(30px); opacity: 0;}
  100% {opacity: 0;}
}
 
@-ms-keyframes loader {
  0% {-ms-transform: translateX(-30px); opacity: 0;}
  25% {opacity: 1;}
  50% {-ms-transform: translateX(30px); opacity: 0;}
  100% {opacity: 0;}
}        

最后为每一个小圆点设置不同的动画延迟时间。

span.l-1 {-webkit-animation-delay: 1s;animation-delay: 1s;-ms-animation-delay: 1s;-moz-animation-delay: 1s;}
span.l-2 {-webkit-animation-delay: 0.8s;animation-delay: 0.8s;-ms-animation-delay: 0.8s;-moz-animation-delay: 0.8s;}
span.l-3 {-webkit-animation-delay: 0.6s;animation-delay: 0.6s;-ms-animation-delay: 0.6s;-moz-animation-delay: 0.6s;}
span.l-4 {-webkit-animation-delay: 0.4s;animation-delay: 0.4s;-ms-animation-delay: 0.4s;-moz-animation-delay: 0.4s;}
span.l-5 {-webkit-animation-delay: 0.2s;animation-delay: 0.2s;-ms-animation-delay: 0.2s;-moz-animation-delay: 0.2s;}
span.l-6 {-webkit-animation-delay: 0;animation-delay: 0;-ms-animation-delay: 0;-moz-animation-delay: 0;}        

原文地址:http://www.htmleaf.com/css3/css3donghua/201510092650.html

posted @ 2015-10-14 13:55  A心语  阅读(450)  评论(0编辑  收藏  举报
返回上一页
WEB前端|JS | jquery