css3实现loading动画效果

最终的loading效果如图:

说明:共两个层,每个层里有4个花瓣,共组成8个花瓣;动画过程为每个花瓣的透明度依次从1变为0的过程。

HTML代码:

<div class="loadingBox">
    <div class="loadingBox1">
        <div class="circle circle1"></div>
        <div class="circle circle2"></div>
        <div class="circle circle3"></div>
        <div class="circle circle4"></div>
    </div>
    <div class="loadingBox2">
        <div class="circle circle1"></div>
        <div class="circle circle2"></div>
        <div class="circle circle3"></div>
        <div class="circle circle4"></div>
    </div>    
</div>

CSS代码:

<style type="text/css">
.loadingBox{
    width:25px;
    height:25px;
    position:relative;
    margin:50px auto;    
}
.loadingBox1,.loadingBox2{width:100%; height:100%;position:absolute;}
.loadingBox2{
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.circle{
    position:absolute;
    width:10px;
    height:10px;
    background:#333;    
    -webkit-animation:loading .8s infinite linear;
    -moz-animation:loading .8s infinite linear;
    -o-animation:loading .8s infinite linear;
    animation:loading .8s infinite linear;
}
.loadingBox2 .circle1{
    -webkit-animation-delay:0.1s;
    -moz-animation-delay:0.1s;
    animation-delay:0.1s;
}

.circle2{
    -webkit-animation-delay:0.2s;
    -moz-animation-delay:0.2s;
    animation-delay:0.2s;
}
.loadingBox2 .circle2{
    -webkit-animation-delay:0.3s;
    -moz-animation-delay:0.3s;
    animation-delay:0.3s;
}
.circle3{
    -webkit-animation-delay:0.4s;
    -moz-animation-delay:0.4s;
    animation-delay:0.4s;
}
.loadingBox2 .circle3{
    -webkit-animation-delay:0.5s;
    -moz-animation-delay:0.5s;
    animation-delay:0.5s;
}
.circle4{
    -webkit-animation-delay:0.6s;
    -moz-animation-delay:0.6s;
    animation-delay:0.6s;
}
.loadingBox2 .circle4{
    -webkit-animation-delay:0.7s;
    -moz-animation-delay:0.7s;
    animation-delay:0.7s;
}

.circle1{/*左上*/
    top:0;left:0;
    border-radius:0 10px;
}
.circle2{/*右上*/
    top:0;right:0;
    border-radius:10px 0;
}
.circle3{/*右下*/
    bottom:0;right:0;
    border-radius:0 10px;
}
.circle4{/*左下*/
    bottom:0; left:0;
    border-radius:10px 0;
}
@-webkit-keyframes loading{
    0%{
        opacity:1;
    }
    50%{
        opacity:0.5;
    }
    100%{
        opacity:0;
    }
}
@-moz-keyframes loading{
    0%{
        opacity:1;
    }
    50%{
        opacity:0.5;
    }
    100%{
        opacity:0;
    }
}
loading{
    0%{
        opacity:1;
    }
    50%{
        opacity:0.5;
    }
    100%{
        opacity:0;
    }
}
</style>

 

posted @ 2014-02-27 16:48  lch880  阅读(421)  评论(0编辑  收藏  举报