CSS3实现的几个小loading效果

时间:2023-02-06 15:01:06

    昨晚上闲的没事突然想做几个小loading效果,下面是昨晚上做的几个小案例,分享给大家

    1.水波loading:这个loading是我觉得非常简单,但是看上去的效果却非常不错的一个小loading

    CSS3实现的几个小loading效果 这个是效果图片

    下面我直接把代码放上来,大家需要的可以直接拉走

核心思想:(旋转,以及overflow:hidden属性),可以把代码中的overflow属性注释掉,保准你看一眼明白了,看不明白回来找我,我对你负责

<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
margin:;
padding: 0
}
body {
background-color: black
}
.box {
margin: 200px auto;
height: 50px;
width: 50px;
border-radius: 10px;
background-color: rgb(0, 174, 255);
position: relative;
overflow: hidden;
border: 1px solid rgb(0, 174, 255);
border-top: none;
}
.a {
width: 200px;
height: 200px;
background: black;
position: absolute;
left: -80px;
top: -180px;
border-radius: 80px;
animation: xuanzhuan 5s linear infinite;
z-index: 2
}
@keyframes xuanzhuan{
0%{transform: rotate(0deg)}
100%{transform: rotate(360deg)}
} </style>
</head> <body>
<div class="box">
<div class="a"></div>
<div class="b"></div>
</div>
</body> </html>

  

  2.普通的圆形loading    这个也很简单  没啥好说的,直接上代码了

  CSS3实现的几个小loading效果

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
*{margin:;padding:}
li{list-style: none}
body,html{
background-color: black;
}
ul{
height: 40px;
width: 200px;
margin: 50px auto;
}
ul>li{
float: left;
height: 20px;
width: 20px;
border-radius: 50%;
background: white;
margin-left: 10px;
animation: move 2s infinite alternate;
transform: scale(0.5)
}
ul>li:nth-of-type(2){
animation-delay: 0.5s;
}
ul>li:nth-of-type(3){
animation-delay:1s;
} @keyframes move{
0%{transform: scale(0.5);opacity: 0.5}
100%{transform: scale(1);opacity:;}
}
</style>
</head>
<body>
<ul>
<li></li>
<li></li>
<li></li>
</ul> </body>
</html>

  3.圆形转圈loading

  思想(把小圆用定位排成圆形,再给每个上添加动画,用delay控制延迟事件即可)

  CSS3实现的几个小loading效果

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<style>
*{
margin:;
padding:; }
.d1{
width: 50px;
height: 50px;
position: absolute;
margin: 100px;
}
.d1 p{
width: 14px;
height: 14px;
border-radius: 50%;
background: red;
position: absolute;
animation: dong 1.5s linear infinite;
}
.d1 p:nth-child(1){
top:;
left:; }
.d1 p:nth-child(2){
top:;
right:; }
.d1 p:nth-child(3){
right:;
bottom:; }
.d1 p:nth-child(4){
bottom:;
left:;
}
.d1:nth-of-type(2){
transform: rotate(45deg);
}
@keyframes dong{
0%{
transform: scale(0);
}
50%{
transform: scale(1);
}
100%{
transform: scale(0);
}
}
.d1:nth-of-type(1) p:nth-of-type(1){
/*负值:动画直接开始,但跳过前...秒动画*/
animation-delay: -0.1s;
}
.d1:nth-of-type(2) p:nth-of-type(1){
animation-delay: -0.3s;
}
.d1:nth-of-type(1) p:nth-of-type(2){
animation-delay: -0.5s;
}
.d1:nth-of-type(2) p:nth-of-type(2){
animation-delay: -0.7s;
}
.d1:nth-of-type(1) p:nth-of-type(3){
animation-delay: -0.9s;
}
.d1:nth-of-type(2) p:nth-of-type(3){
animation-delay: -1.1s;
}
.d1:nth-of-type(1) p:nth-of-type(4){
animation-delay: -1.3s;
}
.d1:nth-of-type(2) p:nth-of-type(4){
animation-delay: -1.5s;
}
</style>
<body>
<div class="d1">
<p></p>
<p></p>
<p></p>
<p></p>
</div>
<div class="d1">
<p></p>
<p></p>
<p></p>
<p></p>
</div>
</body>
</html>

  4.交叉效果

    这个稍微复杂一点,其实只要捋明白思路,也挺简单的(PS:大家可以把动画挨个取消试试,你就会发现好像并不是很难)

    CSS3实现的几个小loading效果

    

<!doctype html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="renderer" content="webkit">
</head> <body> <style>
body {
background-color: #F5F5F5;
padding: 100px 120px;
} .box {
margin-left: 500px;
display: block;
width: 64px;
height: 64px;
transform-origin: 16px 16px;
/* 旋转 */
animation: xuanzhuan 5s infinite;
}
/* 平移 */
.ping {
animation: pingyi 2.5s infinite;
position: absolute;
}
.hang {
width: 64px;
height: 24px;
position: absolute;
}
.hang:nth-child(0) {
transform: rotate(0deg);
}
.hang:nth-child(1) {
transform: rotate(90deg);
}
.hang:nth-child(2) {
transform: rotate(180deg);
}
.hang:nth-child(3) {
transform: rotate(270deg);
}
/* 第一个小珠子 */
.ping:nth-child(1) {
width: 8px;
height: 8px;
top: 50%;
left: 50%;
margin-top: -4px;
margin-left: -4px;
border-radius: 4px;
animation-delay: -0.3s;
}
/* 第二个小珠子 */
.ping:nth-child(2) {
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-top: -8px;
margin-left: -8px;
border-radius: 8px;
-webkit-animation-delay: -0.6s;
animation-delay: -0.6s;
}
/* 第三个小珠子 */
.ping:nth-child(3) {
width: 24px;
height: 24px;
top: 50%;
left: 50%;
margin-top: -12px;
margin-left: -12px;
border-radius: 12px;
animation-delay: -0.9s;
} .blue {
background-color: #1f4e5a;
}
.red {
background-color: #ff5955;
}
.yellow {
background-color: #ffb265;
}
.green {
background-color: #00a691;
}
@keyframes xuanzhuan {
0% { transform: rotate(0deg);}
100% { transform: rotate(360deg);}
}
@keyframes pingyi {
0% {transform: translateX(0);}
25% { transform: translateX(-64px); }
75% { transform: translateX(32px);}
100% {transform: translateX(0);}
}
</style> <div class="box">
<div class="hang">
<div class="ping blue"></div>
<div class="ping blue"></div>
<div class="ping blue"></div>
</div> <div class="hang">
<div class="ping yellow"></div>
<div class="ping yellow"></div>
<div class="ping yellow"></div>
</div>
<div class="hang">
<div class="ping red"></div>
<div class="ping red"></div>
<div class="ping red"></div>
</div>
<div class="hang">
<div class="ping green"></div>
<div class="ping green"></div>
<div class="ping green"></div>
</div>
</div> </body> </html>

5.圆形正方形切换小loading

  这个是真的简单!!!!!

  CSS3实现的几个小loading效果

<!doctype html>

<html lang="zh-cn">

<head>

<meta charset="UTF-8">

<meta name="renderer" content="webkit">

<link rel="shortcut icon" type="images/x-icon" href="/template/images/ufw.ico">

<title>loading-04</title>

</head>

<body>

<style>

    body{
padding: 80px 100px;
}
.csshub-loading-icon{
padding:10px;
width:10px;
height:10px;
border-top:20px solid #ED5548;
border-right:20px solid #599CD3;
border-bottom: 20px solid #5CBD5E;
border-left:20px solid #FDD901;
background:transparent;
animation: csshub-rotate-right-round 1.2s ease-in-out infinite alternate ;
} @keyframes csshub-rotate-right-round { 0% { transform: rotate(0deg);} 50% {transform: rotate(180deg); } 100% {transform: rotate(360deg);border-radius:50%;} } </style> <div class="csshub-loading-icon"></div> </body> </html>

好啦,今天先分享这些,以后再有loading我会再补充上来的,嗷,对了,我懒得没做兼容,要是再某些浏览器不能运行,加一下浏览器前缀就好啦