پیشنمایش زنده
کد HTML
<div class="container">
<div class="loader top-left"></div>
<div class="loader top-right"></div>
<div class="loader bottom-right"></div>
<div class="loader bottom-left"></div>
<div class="loader top-left"></div>
<div class="loader top-right"></div>
<div class="loader bottom-right"></div>
<div class="loader bottom-left"></div>
<div class="loader top-left"></div>
<div class="loader top-right"></div>
<div class="loader bottom-right"></div>
<div class="loader bottom-left"></div>
<div class="loader top-left"></div>
<div class="loader top-right"></div>
<div class="loader bottom-right"></div>
<div class="loader bottom-left"></div>
<div class="loader top-left"></div>
<div class="loader top-right"></div>
<div class="loader bottom-right"></div>
<div class="loader bottom-left"></div>
<div class="loader top-left"></div>
<div class="loader top-right"></div>
<div class="loader bottom-right"></div>
<div class="loader bottom-left"></div>
<div class="loader top-left"></div>
<div class="loader top-right"></div>
<div class="loader bottom-right"></div>
<div class="loader bottom-left"></div>
<div class="loader top-left"></div>
<div class="loader top-right"></div>
<div class="loader bottom-right"></div>
<div class="loader bottom-left"></div>
<div class="loader top-left"></div>
<div class="loader top-right"></div>
<div class="loader bottom-right"></div>
<div class="loader bottom-left"></div>
</div>
کد CSS
.container {
--width: 1em;
--height: 1em;
--accent-color: #07addf25;
--light-accent-color: #006c7048;
--primary-color: #888;
--secondary-color: white;
--min-border: 10%;
--max-border: 50%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
gap: 0.1em;
}
.loader {
background-color: var(--accent-color);
width: var(--width);
height: var(--height);
border: 1px solid var(--primary-color);
box-shadow: inset 0 0 2px var(--secondary-color);
animation: 1s roundThatCorner ease-in-out infinite;
}
.top-left {
animation-delay: 0;
}
.top-right {
animation-delay: -0.5s;
}
.bottom-right {
animation-delay: -1.5s;
}
.bottom-left {
animation-delay: -1s;
}
@keyframes roundThatCorner {
0% {
border-radius: var(--max-border) var(--min-border) var(--min-border)
var(--min-border);
box-shadow: inset 60px -60px 30px 10px var(--light-accent-color);
}
25% {
border-radius: var(--min-border) var(--max-border) var(--min-border)
var(--min-border);
box-shadow: inset 60px 60px 30px 10px var(--light-accent-color);
background-color: var(--light-accent-color);
}
50% {
border-radius: var(--min-border) var(--min-border) var(--max-border)
var(--min-border);
box-shadow: inset -60px 60px 30px 10px var(--light-accent-color);
background-color: var(--light-accent-color);
}
75% {
border-radius: var(--min-border) var(--min-border) var(--min-border)
var(--max-border);
box-shadow: inset -60px -60px 30px 10px var(--light-accent-color);
}
100% {
border-radius: var(--max-border) var(--min-border) var(--min-border)
var(--min-border);
box-shadow: inset 60px -60px 30px 10px var(--light-accent-color);
}
}