Loader

by Imabot

HTML

<div class="loader">
    <div></div><div></div><div></div>
    <div></div><div></div><div></div>
    <div></div><div></div><div></div>    
</div>

CSS

.loader {
    position: relative;
    width: 56px;
    height: 56px;
}
.loader div {
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #007bff;
    opacity: 0;
}


.loader div:nth-child(1) {
    top: 0px;
    left: 0px;
    animation: loader-anim 1.2s ease-in-out infinite;
}
.loader div:nth-child(2) {
    top: 0px;
    left: 20px;
    animation: loader-anim 1.8s ease-in-out infinite;
}
.loader div:nth-child(3) {
    top: 0px;
    left: 40px;
    animation: loader-anim 1.4s ease-in-out infinite;
}


.loader div:nth-child(4) {
    top: 20px;
    left: 0px;
    animation: loader-anim 1.0s ease-in-out infinite;
}
.loader div:nth-child(5) {
    top: 20px;
    left: 20px;
    animation: loader-anim 2s ease-in-out infinite;
}
.loader div:nth-child(6) {
    top: 20px;
    left: 40px;
    animation: loader-anim 1.7s ease-in-out infinite;
}


.loader div:nth-child(7) {
    top: 40px;
    left: 0px;
    animation: loader-anim 1.3s ease-in-out infinite;
}
.loader div:nth-child(8) {
    top: 40px;
    left: 20px;
    animation: loader-anim 1.9s ease-in-out infinite;
}
.loader div:nth-child(9) {
    top: 40px;
    left: 40px;
    animation: loader-anim 1.5s ease-in-out infinite;
}


@keyframes loader-anim {
    0%, 100% { opacity: 1;}
    40%, 90% { opacity: 0.1;}
}