<div class="loader">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>
body {
  background: #888;
}

.loader {
  width: 0px;
  height: 0px;
  margin: 50vh auto;
  position: relative;
}

.loader > div {
  width: 6px;
  height: 20px;
  position: absolute;
  left: -10px;
  bottom: 15px;
  border-radius: 5px;
  transform-origin: 10px 35px;
  transform: rotate(0deg);
  animation: loader 0.8s infinite;
}
.loader > div:nth-child(2) {
  transform: rotate(45deg);
  animation-delay: 0.1s;
}
.loader > div:nth-child(3) {
  transform: rotate(90deg);
  animation-delay: 0.2s;
}
.loader > div:nth-child(4) {
  transform: rotate(135deg);
  animation-delay: 0.3s;
}
.loader > div:nth-child(5) {
  transform: rotate(180deg);
  animation-delay: 0.4s;
}
.loader > div:nth-child(6) {
  transform: rotate(225deg);
  animation-delay: 0.5s;
}
.loader > div:nth-child(7) {
  transform: rotate(270deg);
  animation-delay: 0.6s;
}
.loader > div:nth-child(8) {
  transform: rotate(315deg);
  animation-delay: 0.7s;
}

@keyframes loader {
  0% {
    background: transparent;
    left: -10px;
    transform-origin: 10px 35px;
  }
  30% {
    background: #fff;
  }
  100% {
    background: transparent;
    left: 10px;
    transform-origin: -10px 35px;
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js