Pure CSS Loader
by humanzing
HTML
<div class="loading_warp">
<div class='loading'>
<div class='bullet'></div>
<div class='bullet'></div>
<div class='bullet'></div>
<div class='bullet'></div>
</div>
</div>
CSS
.loading_warp{
position:fixed;
top:0;
bottom:0;
left:0;
right:0;
z-index:10;
background-color: #3b3b3b;
}
.loading {
position: absolute;
top: 50%;
left: 50%;
}
.loading .bullet {
position: absolute;
padding: 5px;
border-radius: 50%;
background: lightseagreen;
-webkit-animation: animIn 1s ease-in-out 0s infinite;
animation: animIn 1s ease-in-out 0s infinite;
}
.loading .bullet:nth-child(1) {
-webkit-animation-delay: 0s;
animation-delay: 0s;
}
.loading .bullet:nth-child(2) {
-webkit-animation-delay: 0.15s;
animation-delay: 0.15s;
}
.loading .bullet:nth-child(3) {
-webkit-animation-delay: 0.3s;
animation-delay: 0.3s;
}
.loading .bullet:nth-child(4) {
-webkit-animation-delay: 0.45s;
animation-delay: 0.45s;
}
@-webkit-keyframes animIn {
0% {
-webkit-transform: translateX(-100px);
transform: translateX(-100px);
opacity: 0;
}
50% {
opacity: 1;
}
100% {
-webkit-transform: translateX(100px);
transform: translateX(100px);
opacity: 0;
}
}
@keyframes animIn {
0% {
-webkit-transform: translateX(-100px);
transform: translateX(-100px);
opacity: 0;
}
50% {
opacity: 1;
}
100% {
-webkit-transform: translateX(100px);
transform: translateX(100px);
opacity: 0;
}
}
JavaScript
window.addEventListener('load', function () {
var elements = document.getElementsByClassName('loading_warp')[0];
elements.parentNode.removeChild(elements);
})