html 代码
<div class="loader-main">
<div class="loader-body">
<div class="loader">
<span style="--i:1"></span>
<span style="--i:2"></span>
<span style="--i:3"></span>
<span style="--i:4"></span>
<span style="--i:5"></span>
<span style="--i:6"></span>
<span style="--i:7"></span>
</div>
<p>
<span>资源正在加载中,请耐心等待!</span>
</p>
</div>
</div>
css 代码
.loader-main {
background: #333333;
padding: 16px;
position: relative;
}
.loader-main p {
text-align: center;
color: #cccccc;
position: absolute;
left: 50%;
margin-top: 150px;
transform: translateX(-50%);
}
.loader-main p span {
animation: content-slide-in 2.5s .15s linear infinite;
display: inline-block;
}
@keyframes content-slide-in {
from {
opacity: 0
}
to {
opacity: 1;
color: #0a84ff;
}
}
.loader-body {
display: flex;
align-items: center;
justify-content: center;
min-height: 600px;
position: relative;
}
.loader {
position: relative;
width: 100px;
height: 100px;
}
svg {
width: 0;
height: 0;
}
.loader span {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: block;
animation: animate 4s ease-in-out infinite;
animation-delay: calc(0.2s * var(--i));
}
.loader span::before {
content: '';
position: absolute;
top: 0;
left: calc(50% - 20px);
width: 20px;
height: 20px;
border-radius: 50%;
box-shadow: 0 0 30px #03a9f4;
background: linear-gradient(#fce4ec, #03a9f4);
}
@keyframes animate {
0% {
transform: rotate(0deg);
}
50%,
100% {
transform: rotate(360deg);
}
}
效果展示