پیشنمایش زنده
کد HTML
<aside class="loader">
<article class="base top"></article>
<article class="side side1"></article>
<article class="side side2"></article>
<article class="side side3"></article>
<article class="side side4"></article>
<article class="side side5"></article>
<article class="base bottom"></article>
</aside>
کد CSS
.loader {
--purple: #b429f999;
--size: 170px;
width: var(--size);
height: var(--size);
zoom: 0.5;
position: relative;
transform-style: preserve-3d;
perspective: 10000px;
animation: rotar 12s linear infinite alternate both;
.base {
width: 100%;
height: 100%;
position: absolute;
background-color: var(--purple);
transform-origin: 50% 0;
transform: rotateX(-90deg);
clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
&.top {
top: 0;
}
&.bottom {
top: 150%;
}
}
.side {
width: 64%;
height: 150%;
position: absolute;
}
.side1 {
background-color: #fff8;
top: 0%;
left: 50%;
transform: translateX(-50%) translateZ(-170px);
}
.side2 {
background-color: #f008;
top: 0%;
left: 50%;
transform-origin: 100% 0%;
transform: translateX(-50%) translateZ(-170px) rotateY(106deg);
}
.side3 {
background-color: #0f08;
top: 0%;
left: 50%;
transform-origin: 0% 0%;
transform: translateX(-50%) translateZ(-170px) rotateY(-106deg);
}
.side4 {
background-color: #ff08;
top: 0%;
left: 50%;
width: 63%;
transform-origin: 0% 0%;
transform: rotateY(143deg);
}
.side5 {
background-color: #00f8;
top: 0%;
left: 50%;
width: 63%;
transform-origin: 0% 0%;
transform: rotateY(398deg);
}
}
@keyframes rotar {
0% {
transform: rotateX(-369deg) rotateY(-369deg);
}
100% {
transform: rotateX(369deg) rotateY(369deg);
}
}