<!DOCTYPE html> <html> <head> <title>加载中</title> <meta charset="UTF-8"> </head> <body> <style> .loading1, .loading2, .loading3, .loading4, .loading5, .loading6, .loading7 { float: left; margin: 10px; } </style> <style> .loading1 { position: relative; } .loading1 .left, .loading1 .right { position: relative; float: left; width: 20px; height: 40px; overflow: hidden; background-color: #E5E4E5; } .loading1 .left div, .loading1 .right div { content: ""; position: absolute; display: block; width: 20px; height: 40px; background-color: #333; } .loading1 .left { border-radius: 40px 0 0 40px; } .loading1 .left div { border-radius: 40px 0 0 40px; transform-origin: right center; animation: circleLeft 3s linear infinite; } .loading1 .right { border-radius: 0 40px 40px 0; } .loading1 .right div { border-radius: 0 40px 40px 0; transform-origin: left center; animation: circleRight 3s linear infinite; } .loading1 .center { position: absolute; left: 3px; top: 3px; width: 34px; height: 34px; background-color: #fff; border-radius: 50%; } @keyframes circleLeft { 0% { transform: rotateZ(-180deg); } 50% { transform: rotateZ(-180deg); } 75% { transform: rotateZ(-90deg); } 100% { transform: rotateZ(0deg); } } @keyframes circleRight { 0% { transform: rotateZ(-180deg); } 25% { transform: rotateZ(-90deg); } 50% { transform: rotateZ(0deg); } 100% { transform: rotateZ(0deg); } } </style> <div class="loading1"> <div class="left"> <div></div> </div> <div class="right"> <div></div> </div> <div class="center"> <i></i> </div> </div> <style> .loading2 .left div { animation: circleLeft2 6s linear infinite; } .loading2 .right div { animation: circleRight2 6s linear infinite; } @keyframes circleLeft2 { 0% { transform: rotateZ(-180deg); } 25% { transform: rotateZ(-180deg); } 37.5% { transform: rotateZ(-90deg); } 50% { transform: rotateZ(0deg); } 75% { transform: rotateZ(0deg); } 87.5% { transform: rotateZ(90deg); } 100% { transform: rotateZ(180deg); } } @keyframes circleRight2 { 0% { transform: rotateZ(-180deg); } 12.5% { transform: rotateZ(-90deg); } 25% { transform: rotateZ(0deg); } 50% { transform: rotateZ(0deg); } 62.5% { transform: rotateZ(90deg); } 75% { transform: rotateZ(180deg); } 100% { transform: rotateZ(180deg); } } </style> <div class="loading1 loading2"> <div class="left"> <div></div> </div> <div class="right"> <div></div> </div> <div class="center"> <i></i> </div> </div> <style> .loading3 p { height: 25px; width: 25px; margin: auto; border: 2px solid #ccc; border-bottom-color: #333; border-radius: 100%; animation: rotate3 1s linear infinite; } @keyframes rotate3 { 0% { transform: rotate(0deg); } 50% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } } </style> <div class="loading3"> <p></p> </div> <style> .loading4 p { display: inline-block; width: 12px; height: 12px; border-radius: 100%; background-color: #333; } .loading4 p:first-child { animation: scale4 1s 0.15s infinite; } .loading4 p:nth-child(2) { animation: scale4 1s 0.3s infinite; } .loading4 p:nth-child(3) { animation: scale4 1s 0.45s infinite; } @keyframes scale4 { 0% { transform: scale(0); } 100% { transform: scale(1); } } </style> <div class="loading4"> <p></p> <p></p> <p></p> </div> <style> .loading5 p { display: inline-block; width: 4px; height: 35px; border-radius: 2px; background-color: #333; } .loading5 p:first-child { animation: scale5 1s 0.1s infinite; } .loading5 p:nth-child(2) { animation: scale5 1s 0.2s infinite; } .loading5 p:nth-child(3) { animation: scale5 1s 0.3s infinite; } .loading5 p:nth-child(4) { animation: scale5 1s 0.4s infinite; } .loading5 p:nth-child(5) { animation: scale5 1s 0.5s infinite; } @keyframes scale5 { 0% { transform: scaleY(1); } 50% { transform: scaleY(.4); } 100% { transform: scaleY(1); } } </style> <div class="loading5"> <p></p> <p></p> <p></p> <p></p> <p></p> </div> <style> .loading6 { position: relative; width: 80px; height: 80px; } .loading6 i { position: absolute; width: 15px; height: 15px; background-color: #000; border-radius: 100%; } @keyframes loading6 { 0% { transform: scale(0.4); opacity: 0.5; } 50% { transform: scale(1); opacity: 1; } 100% { transform: scale(0.4); opacity: 0.5; } } </style> <div class="loading6"> <i></i> <i></i> <i></i> <i></i> <i></i> <i></i> <i></i> <i></i> </div> <style> .loading7 { position: relative; width: 80px; height: 80px; } .loading7 i { position: absolute; width: 3px; height: 10px; background-color: #000; } @keyframes loading7 { 0% { opacity: 0.3; } 100% { opacity: 1; } } </style> <div class="loading7"> <i></i> <i></i> <i></i> <i></i> <i></i> <i></i> <i></i> <i></i> </div> <script> window.onload = function () { var eleI6 = document.querySelectorAll('.loading6 i'), angle6 = 360 / eleI6.length; for (var i = eleI6.length - 1; i >= 0; i--) { eleI6[i].style.cssText += 'top:' + (34 - Math.sin(angle6 * i * Math.PI / 180) * 25) + 'px;left:' + (34 - Math.cos(angle6 * i * Math.PI / 180) * 25) + 'px;animation: loading6 1.8s ' + .22 * (i + 1) + 's infinite linear;'; } var eleI7 = document.querySelectorAll('.loading7 i'), angle7 = 360 / eleI7.length; for (var i = eleI7.length - 1; i >= 0; i--) { eleI7[i].style.cssText += 'top:' + (34 - Math.sin(angle7 * i * Math.PI / 180) * 15) + 'px;left:' + (34 - Math.cos(angle7 * i * Math.PI / 180) * 15) + 'px;transform:rotate(' + (angle7 * i + 90) + 'deg);animation: loading7 1s ' + .1 * (i + 1) + 's infinite linear;'; } }; </script> </body> </html>
欢迎分享本文,转载请保留出处:前端ABC » css loading动画