JSFiddle - React, Tailwind, and code Playground
HTML
<div class='overlay'>
<div class='spinner center'>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
<div class='spinner-blade'></div>
</div>
</div>
CSS
.overlay {
background: rgba(100, 100, 100, 0.5);
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
width: 8em;
height: 8em;
border-radius: 0.3em;
}
.spinner {
font-size: 50px;
position: relative;
display: inline-block;
width: 1em;
height: 1em;
}
.spinner.center {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
.spinner .spinner-blade {
position: absolute;
left: 0.4629em;
bottom: 0;
width: 0.074em;
height: 0.3777em;
border-radius: 0.5em;
background-color: transparent;
-webkit-transform-origin: center -0.2222em;
-ms-transform-origin: center -0.2222em;
transform-origin: center -0.2222em;
-webkit-animation: spinner-fade 1s infinite linear;
animation: spinner-fade 1s infinite linear;
}
.spinner .spinner-blade:nth-child(1) {
-webkit-animation-delay: 0s;
animation-delay: 0s;
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
.spinner .spinner-blade:nth-child(2) {
-webkit-animation-delay: 0.083s;
animation-delay: 0.083s;
-webkit-transform: rotate(30deg);
-ms-transform: rotate(30deg);
transform: rotate(30deg);
}
.spinner .spinner-blade:nth-child(3) {
-webkit-animation-delay: 0.166s;
animation-delay: 0.166s;
-webkit-transform: rotate(60deg);
-ms-transform: rotate(60deg);
transform: rotate(60deg);
}
.spinner .spinner-blade:nth-child(4) {
-webkit-animation-delay: 0.249s;
animation-delay: 0.249s;
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
.spinner .spinner-blade:nth-child(5) {
-webkit-animation-delay: 0.332s;
animation-delay: 0.332s;
-webkit-transform: rotate(120deg);
-ms-transform: rotate(120deg);
transform: rotate(120deg);
}
.spinner .spinner-blade:nth-child(6) {
-webkit-animation-delay: 0.415s;
...