<div class="loader"></div>
<div class="loader" style="width:100px;--c1:#BD1550;--c2:#E97F02;--c3:#8A9B0F;--c4:#3FB8AF"></div>
.loader {
/* the colors */
--c1: #F77825;
--c2: #D3CE3D;
--c3: #60B99A;
--c4: #554236;
/**/
width: 180px; /* control the size */
aspect-ratio: 8/5;
--_g: no-repeat radial-gradient(#000 68%,#0000 71%);
-webkit-mask: var(--_g),var(--_g),var(--_g);
-webkit-mask-size: 25% 40%;
background:
conic-gradient(var(--c1) 50%,var(--c2) 0) no-repeat,
conic-gradient(var(--c3) 50%,var(--c4) 0) no-repeat;
background-size: 200% 50%;
animation:
back 3s infinite steps(1),
load 1.5s infinite linear;
}
@keyframes load {
0% {-webkit-mask-position: 0% 0% ,50% 0% ,100% 0% }
12.5%{-webkit-mask-position: 0% 50% ,50% 0% ,100% 0% }
25% {-webkit-mask-position: 0% 100%,50% 50% ,100% 0% }
37.5%{-webkit-mask-position: 0% 100%,50% 100%,100% 50% }
50% {-webkit-mask-position: 0% 100%,50% 100%,100% 100%}
62.5%{-webkit-mask-position: 0% 50% ,50% 100%,100% 100%}
75% {-webkit-mask-position: 0% 0% ,50% 50% ,100% 100%}
87.5%{-webkit-mask-position: 0% 0% ,50% 0% ,100% 50% }
100% {-webkit-mask-position: 0% 0% ,50% 0% ,100% 0% }
}
@keyframes back {
0%,
100%{background-position: 0% 0%,0% 100%}
25% {background-position: 100% 0%,0% 100%}
50% {background-position: 100% 0%,100% 100%}
75% {background-position: 0% 0%,100% 100%}
}
body {
margin:0;
min-height:100vh;
display:grid;
place-content:center;
align-items:center;
grid-auto-flow:column;
gap:50px;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.