پیشنمایش زنده
کد HTML
<aside class="loader">
<div class="side front"></div>
<div class="side behind"></div>
<div class="side right"></div>
<div class="side left"></div>
<div class="side top"></div>
<div class="side bottom"></div>
</aside>
کد CSS
.loader {
--size: 100px;
width: var(--size);
height: var(--size);
position: absolute;
top: 35%;
left: 50%;
transform-origin: 50% 100%;
transform-style: preserve-3d;
perspective: 5000px;
animation: rotar 10s linear infinite alternate both;
.side {
width: var(--size);
height: var(--size);
position: absolute;
background: repeating-linear-gradient(
to right,
transparent 1% 9%,
#0f0 9% 10%
),
repeating-linear-gradient(to top, transparent 1% 9%, #0f0 9% 10%);
background-color: #0008;
}
.behind {
transform: translateZ(calc(-1 * var(--size)));
}
.right {
transform-origin: 100% 50%;
transform: rotateY(-90deg);
}
.left {
transform-origin: 0% 50%;
transform: rotateY(90deg);
}
.top {
transform-origin: 50% 0;
transform: rotateX(-90deg);
}
.bottom {
transform-origin: 50% 100%;
transform: rotateX(90deg);
}
}
@keyframes rotar {
0% {
transform: translate(-50%, -50%) rotateX(0deg) rotateY(0deg);
}
100% {
transform: translate(-50%, -50%) rotateX(360deg) rotateY(360deg);
}
}