JSFiddle - React, Tailwind, and code Playground
by whatisthebigpicture
HTML
<div class="loading-indicator"></div>
CSS
.loading-indicator {
margin: 0 15px;
position: relative;
-webkit-animation: swing 1s linear infinite;
}
.loading-indicator,
.loading-indicator:before,
.loading-indicator:after {
background: #85AADD;
width: 12px;
height: 12px;
border-radius: 6px;
}
.loading-indicator:before,
.loading-indicator:after {
content: "";
position: absolute;
//-webkit-animation: pulse 1s linear infinite;
}
.loading-indicator:before {
right: 15px;
//-webkit-animation-delay: 0.25s;
-webkit-animation: before-swing 1s linear infinite;
}
.loading-indicator:after {
left: 15px;
-webkit-animation: after-swing 1s linear infinite;
//-webkit-animation-delay: 0.5s;
}
@-webkit-keyframes pulse {
0% {
-webkit-transform:scale(1);
opacity: 1;
}
50% {
-webkit-transform:scale(.8);
opacity: 0.5;
}
100% {
-webkit-transform:scale(1);
opacity: 1;
}
}
@-webkit-keyframes swing {
0% {
margin-left: 15px;
}
25% {
margin-left: 20px;
}
75% {
margin-left: 10px;
}
100% {
margin-left: 15px;
}
}
@-webkit-keyframes before-swing {
0% {
right: 15px;
-webkit-transform:scale(.8);
opacity: 0.5;
}
25% {
right: 20px;
}
50% {
}
75% {
right: 10px;
-webkit-transform:scale(1);
opacity: 1;
}
100% {
right: 15px;
-webkit-transform:scale(.8);
opacity: 0.5;
}
}
@-webkit-keyframes after-swing {
0% {
left: 15px;
-webkit-transform:scale(.9);
opacity: 0.75;
}
25% {
left: 10px;
-webkit-transform:scale(1);
opacity: 1;
}
50% {
-webkit-transform:scale(.8);
opacity: 0.5;
}
75% {
left: 20px;
}
100% {
left: 15px;
-webkit-transform:scale(.9);
...