JSFiddle - React, Tailwind, and code Playground
by Raghvendra Singh
HTML
<div class="holder">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
CSS
body {
overflow: hidden;
}
.holder {
width: 500px;
height: 250px;
position: relative;
}
.holder .circle {
border-radius: 100% 100% 0 0;
position: absolute;
bottom: 0;
left: 50%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
-webkit-transform-origin: bottom center;
-ms-transform-origin: bottom center;
transform-origin: bottom center;
}
.holder .circle:nth-child(1) {
background: black;
border-bottom: none;
border-radius: 25px 25px 0 0;
width: 25px;
height: 12.5px;
z-index: 15;
-webkit-animation: circle-1 10s infinite ease-in-out;
animation: circle-1 10s infinite ease-in-out;
}
@-webkit-keyframes circle-1 {
0% {
-webkit-transform: translateX(-50%) rotate(0deg);
transform: translateX(-50%) rotate(0deg);
}
100% {
-webkit-transform: translateX(-50%) rotate(-360deg);
transform: translateX(-50%) rotate(-360deg);
}
}
@keyframes circle-1 {
0% {
-webkit-transform: translateX(-50%) rotate(0deg);
transform: translateX(-50%) rotate(0deg);
}
100% {
-webkit-transform: translateX(-50%) rotate(-360deg);
transform: translateX(-50%) rotate(-360deg);
}
}
.holder .circle:nth-child(2) {
border: 13px solid black;
border-bottom: none;
border-radius: 31px 31px 0 0;
width: 31px;
height: 15.5px;
z-index: 14;
-webkit-animation: circle-2 10s infinite ease-in-out;
animation: circle-2 10s infinite ease-in-out;
}
@-webkit-keyframes circle-2 {
0% {
-webkit-transform: translateX(-50%) rotate(0deg);
transform: translateX(-50%) rotate(0deg);
}
100% {
-webkit-transform: translateX(-50%) rotate(-720deg);
transform: translateX(-50%) rotate(-720deg);
}
}
@keyframes circle-2 {
0% {
-webkit-transform: translateX(-50%) rotate(0deg);
transform: translateX(-50%) rotate(0deg);
}
100% {
-webkit-transform:...