Css3实现常用的几种loading动画

css实现loading动画非常方便,也非常实用

第一种

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .loading1{
            width:50px;
            height:40px;
            margin:60px auto;
            text-align:center;
        }
        .loading1 span{
            width:5px;
            height:100%;
            display:inline-block;
            background:#67CF22;;
            animation: mymove 1.2s infinite ease-in-out;
            -webkit-animation:mymove 1.2s infinite ease-in-out;
             /*  
                mymove代表动画名字
                1.2s代表执行时间
                infinite表示一直循环执行
                ease-in-out表示先慢后快的缓动
            */
        }
        .loading1 >span:nth-child(2){
            -webkit-animation-delay:-1.0s;
            animation-delay:-1.0s;
        }
        .loading1 >span:nth-child(3){
            -webkit-animation-delay:-0.9s;
            animation-delay:-0.9s;
        }
        .loading1 >span:nth-child(4){
            -webkit-animation-delay:-0.8s;
            animation-delay:-0.8s;
        }
        .loading1 >span:nth-child(5){
            -webkit-animation-delay:-0.7s;
            animation-delay:-0.7s;
        }
        @keyframes mymove{
            0%{transform:scaleY(0.4);}
            25%{transform:scaleY(1.0);}
            50%{transform:scaleY(0.4);}
            75%{transform:scaleY(0.4);}
            100%{transform:scaleY(0.4);}
        }
        @-webkit-keyframes mymove{
            0%{transform:scaleY(0.4);}
            25%{transform:scaleY(1.0);}
            50%{transform:scaleY(0.4);}
            75%{transform:scaleY(0.4);}
            100%{transform:scaleY(0.4);}
        }
    </style> 
</head>
<body>
 <div class="loading1">
     <span></span>
     <span></span>
     <span></span>
     <span></span>
     <span></span>
 </div>

</body>
</html>

第二种

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .loading2{
            width:50px;
            height:50px;
            margin:50px auto;
            position:relative;
        }
        .bounce{
            position:absolute;
            top:0;
            left:0;
            width:100%;
            height:100%;
            border-radius: 50%;
            background-color: #67CF22;
            opacity: 0.6;
            -webkit-animation: bounce 2.0s infinite ease-in-out;
            animation: bounce 2.0s infinite ease-in-out;
        }
        .bounce2{
            -webkit-animation-delay: -1.0s;
            animation-delay: -1.0s;
        }
        @keyframes bounce{
            0%{transform:scale(0.0);}
            50%{transform:scale(1.0);}
            100%{transform:scale(0.0);}
        }
        @-webkit-keyframes  bounce{
            0%{transform:scale(0.0);}
            50%{transform:scale(1.0);}
            100%{transform:scale(0.0);}
        }
    </style> 
</head>
<body>
 <div class="loading2">
    <div class="bounce bounce1"></div>
    <div class="bounce bounce2"></div>
 </div>

</body>
</html>

第三种

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .loading3{
            width:30px;
            height:30px;
            margin:50px auto;
            position:relative;
        }
        .circle{
            position:absolute;
            top:0;
            left:0;
            width:100%;
            height:100%;
        }
        .circle span{
            width:8px;
            height:8px;
            display:inline-block;
            background:#67CF22;
            border-radius: 100%;
            position:absolute;
            -webkit-animation: mycircle 1.2s infinite ease-in-out;
            animation: mycircle 1.2s infinite ease-in-out;
            -webkit-animation-fill-mode:both;
            animation-fill-mode:both;
        }
       .circle2{
           -webkit-transform: rotateZ(45deg);
           transform: rotateZ(45deg);
       }
       .circle3{
           -webkit-transform: rotateZ(90deg);
           transform: rotateZ(90deg);
       }
       .circle>span:nth-child(1){
            top:0;
            left:0;
       }
       .circle>span:nth-child(2){
            top:0;
            right:0;
       }
       .circle>span:nth-child(3){
            right:0;
            bottom:0;
       }
       .circle>span:nth-child(4){
            left:0;
            bottom:0;
       }
       .circle2 >span:nth-child(1){
            -webkit-animation-delay: -1.1s;
            animation-delay: -1.1s;
       }
       .circle3 >span:nth-child(1){
            -webkit-animation-delay: -1.0s;
            animation-delay: -1.0s;
       }
       .circle1 >span:nth-child(2){
            -webkit-animation-delay: -0.9s;
            animation-delay: -0.9s;
       }
       .circle2 >span:nth-child(2){
            -webkit-animation-delay: -0.8s;
            animation-delay: -0.8s;
       }
       .circle3 >span:nth-child(2){
            -webkit-animation-delay: -0.7s;
            animation-delay: -0.7s;
       }
       .circle1 >span:nth-child(3){
            -webkit-animation-delay: -0.6s;
            animation-delay: -0.6s;
       }
       .circle2 >span:nth-child(3){
            -webkit-animation-delay: -0.7s;
            animation-delay: -0.7s;
       }
       .circle3 >span:nth-child(3){
            -webkit-animation-delay: -0.4s;
            animation-delay: -0.4s;
       }
       .circle1 >span:nth-child(4){
            -webkit-animation-delay: -0.3s;
            animation-delay: -0.3s;
       }
       .circle2 >span:nth-child(4){
            -webkit-animation-delay: -0.2s;
            animation-delay: -0.2s;
       }
       .circle3 >span:nth-child(4){
            -webkit-animation-delay: -0.1s;
            animation-delay: -0.1s;
       }
       @-webkit-keyframes mycircle{
            0%{transform:scale(0.0);}
            40%{transform:scale(1.0);}
            80%{transform:scale(0.0);}
            100%{transform:scale(0.0);}
        }
        @keyframes mycircle{
            0%{transform:scale(0.0);}
            40%{transform:scale(1.0);}
            80%{transform:scale(0.0);}
            100%{transform:scale(0.0);}
        }
       
    </style> 
</head>
<body>
 <div class="loading3">
    <div class="circle circle1">
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
    <div class="circle circle2">
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
    <div class="circle circle3">
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
 </div>

</body>
</html>

第四种

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .loading4{
            width:150px;
            margin:50px auto;
            text-align: center;
        }
        .loading4 >div{
          width: 18px;
          height: 18px;
          border-radius: 100%;
          display:inline-block;
          background-color: #67CF22;
          -webkit-animation: three 1.4s infinite ease-in-out;
          animation: three 1.4s infinite ease-in-out;
          -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
        }
        .loading4 .three1{
          -webkit-animation-delay: -0.30s;
          animation-delay: -0.30s;
        }
        .loading4 .three2{
          -webkit-animation-delay: -0.15s;
          animation-delay: -0.15s;
        }
        @-webkit-keyframes three {
          0%, 80%, 100% {-webkit-transform: scale(0.0) }
          40% { -webkit-transform: scale(1.0) }
        }
        @keyframes three {
          0%, 80%, 100% {-webkit-transform: scale(0.0) }
          40% { -webkit-transform: scale(1.0) }
        }
    </style> 
</head>
<body>
 <div class="loading4">
    <div class="three1"></div>
    <div class="three2"></div>
    <div class="three3"></div>
 </div>

</body>
</html>
原文地址:https://www.cnblogs.com/theblogs/p/10328514.html