پیشنمایش زنده
کد HTML
<div class="spinner">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div class="spinner2">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
کد CSS
.spinner {
width: 16px;
height: 16px;
animation: spinner-y0fdc1 15s forwards infinite ease;
position: absolute;
transform-style: preserve-3d;
}
.spinner > div {
height: 100%;
position: absolute;
width: 100%;
border: 1px solid #f8c828;
}
.spinner div:nth-of-type(1) {
transform: translateZ(-8px) rotateY(180deg);
}
.spinner div:nth-of-type(2) {
transform: rotateY(-270deg) translateX(50%);
transform-origin: top right;
}
.spinner div:nth-of-type(3) {
transform: rotateY(270deg) translateX(-50%);
transform-origin: center left;
}
.spinner div:nth-of-type(4) {
transform: rotateX(90deg) translateY(-50%);
transform-origin: top center;
}
.spinner div:nth-of-type(5) {
transform: rotateX(-90deg) translateY(50%);
transform-origin: bottom center;
}
.spinner div:nth-of-type(6) {
transform: translateZ(8px);
}
.spinner2 {
width: 32px;
height: 32px;
animation: spinner-y0fdc2 15s forwards infinite ease;
position: absolute;
transform-style: preserve-3d;
}
.spinner2 > div {
height: 100%;
position: absolute;
width: 100%;
border: 1px solid #282828;
}
.spinner2 div:nth-of-type(1) {
transform: translateZ(-16px) rotateY(180deg);
}
.spinner2 div:nth-of-type(2) {
transform: rotateY(-270deg) translateX(50%);
transform-origin: top right;
}
.spinner2 div:nth-of-type(3) {
transform: rotateY(270deg) translateX(-50%);
transform-origin: center left;
}
.spinner2 div:nth-of-type(4) {
transform: rotateX(90deg) translateY(-50%);
transform-origin: top center;
}
.spinner2 div:nth-of-type(5) {
transform: rotateX(-90deg) translateY(50%);
transform-origin: bottom center;
}
.spinner2 div:nth-of-type(6) {
transform: translateZ(16px);
}
@keyframes spinner-y0fdc1 {
0% {
transform: rotate(0deg) rotateX(0deg) rotateY(0deg);
}
24% {
transform: rotate(0deg) rotateX(360deg) rotateY(360deg);
width: 16px;
height: 16px;
}
25% {
transform: rotate(0deg) rotateX(360deg) rotateY(360deg);
width: 48px;
height: 48px;
}
50% {
transform: rotate(225deg) rotateX(360deg) rotateY(360deg);
width: 48px;
height: 48px;
}
75% {
transform: rotate(0deg) rotateX(360deg) rotateY(360deg);
width: 48px;
height: 48px;
}
76% {
transform: rotate(0deg) rotateX(360deg) rotateY(360deg);
width: 16px;
height: 16px;
}
96% {
transform: rotate(0deg) rotateX(0deg) rotateY(0deg);
}
100% {
transform: rotate(0deg) rotateX(0deg) rotateY(0deg);
}
}
@keyframes spinner-y0fdc2 {
0% {
transform: rotate(45deg) rotateX(0deg) rotateY(0deg);
}
24% {
transform: rotate(45deg) rotateX(-360deg) rotateY(-360deg);
width: 32px;
height: 32px;
}
25% {
transform: rotate(45deg) rotateX(-360deg) rotateY(-360deg);
width: 48px;
height: 48px;
}
50% {
transform: rotate(-180deg) rotateX(-360deg) rotateY(-360deg);
width: 48px;
height: 48px;
}
75% {
transform: rotate(45deg) rotateX(-360deg) rotateY(-360deg);
width: 48px;
height: 48px;
}
76% {
transform: rotate(45deg) rotateX(-360deg) rotateY(-360deg);
width: 32px;
height: 32px;
}
96% {
transform: rotate(45deg) rotateX(0deg) rotateY(0deg);
}
100% {
transform: rotate(45deg) rotateX(0deg) rotateY(0deg);
}
}