<div class="loading">
<span></span>
<span></span>
<span></span>
</div>
.loading {
margin: 1rem 2rem;
display: flex;
justify-content: center;
gap: 10px;
}
span {
width: 20px;
height: 20px;
border-radius: 50%;
animation-duration: 2.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-fill-mode: forwards;
}
span:nth-child(1) {
background-color: violet;
animation-name: leftSlide;
}
span:nth-child(2) {
background-color: rgb(235, 86, 235);
animation-name: topSlide;
}
span:nth-child(3) {
background-color: rgb(201, 32, 201);
animation-name: rightSlide;
}
@keyframes leftSlide {
20% {
transform: translateX(-100px);
}
60% {
transform: translateX(100px);
}
100% {
transform: translateX(0);
}
}
@keyframes rightSlide {
20% {
transform: translateX(100px);
}
60% {
transform: translateX(-100px);
}
100% {
transform: translateX(0);
}
}
@keyframes topSlide {
20% {
transform: translateY(-25px);
}
60% {
transform: translateY(25px);
}
100% {
transform: translateX(0);
}
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.