纯CSS3仿Windows phone加载动画特效

当前位置:主页 > CSS3库 > CSS3动画 > 纯CSS3仿Windows phone加载动画特效
纯CSS3仿Windows phone加载动画特效
分享:

    插件介绍

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

    浏览器兼容性

    浏览器兼容性
    时间:2015-10-09
    阅读:
简要教程

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

使用方法

HTML结构

该loading动画特效使用一组<span>元素来制作loading指示器的小圆点。

<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;}