JSFiddle - React, Tailwind, and code Playground
by birkir
HTML
<div class="container">
<div class="loader loader-1"><i></i><i></i><i></i><i></i></div>
<hr/>
<div class="loader loader-2"><i></i><i></i><i></i><i></i></div>
<hr/>
<div class="loader loader-3"><i></i><i></i><i></i><i></i><i></i></div>
</div>
CSS
.container {
perspective: 320px;
perspective-origin: 50% 100px;
margin-top: 50px;
}
hr {
border: 0;
border-top: 1px solid #ddd;
margin: 50px 0;
}
.loader {
width: 64px;
height: 64px;
position: relative;
transform-style: preserve-3d;
margin: 0 auto;
}
/** LOADER 1 **/
/** -------- **/
@-webkit-keyframes loader1 {
0% { transform: rotateX(0); }
70% { transform: rotateX(380deg); }
90% { transform: rotateX(340deg); }
100% { transform: rotateX(360deg); }
}
.loader-1 {
-webkit-animation: loader1 2000ms infinite ease-in-out;
}
.loader-1 i {
position: absolute;
width: 64px;
height: 64px;
-webkit-transform: translateZ(-32px) rotateY(180deg);
background: #00b39f;
}
.loader-1 i + i {
-webkit-transform: rotateX(-90deg) translateY(-32px);
-webkit-transform-origin: top center;
background: #214c59;
}
.loader-1 i + i + i {
-webkit-transform: rotateX(90deg) translateY(32px);
-webkit-transform-origin: bottom center;
background: #00aacf;
}
.loader-1 i + i + i + i {
-webkit-transform: translateZ(32px);
background: #f8c66b;
}
/** LOADER 2 **/
/** -------- **/
@-webkit-keyframes loader21 {
0% { transform: translate(0px, 0px) rotateZ(0deg); }
30% { transform: translate(-10px, -10px) rotateZ(0deg); }
70% { transform: translate(-10px, -10px) rotateZ(180deg); }
100% { transform: translate(0px, 0px) rotateZ(180deg); }
}
@-webkit-keyframes loader22 {
0% { transform: translate(0px, 0px) rotateZ(0deg); }
30% { transform: translate(10px, -10px) rotateZ(0deg); }
70% { transform: translate(10px, -10px) rotateZ(180deg); }
100% { transform: translate(0px, 0px) rotateZ(180deg); }
}
@-webkit-keyframes loader23 {
0% { transform: translate(0px, 0px) rotateZ(0deg); }
30% { transform: translate(10px, 10px) rotateZ(0deg); }
70% { transform: translate(10px, 10px) rotateZ(180deg); }
100% { transform: translate(0px, 0px) rotateZ(180deg); }
}
@-webkit-keyframes loader24 {
0% {...