svgとCSSで作る軽量かつおもしろい動きのサークルローダーです。インラインのsvgですので、ビットマップ画像などと比べてごく軽量です。ローダーが必要なページの軽量化に役立つかもしれません。

サンプルのhtmlソース

<svg class="artboard">
    <circle cx="100" cy="25" r="25" fill="#daf" class="circle-1" />
    <circle cx="175" cy="100" r="25" fill="#9e8" class="circle-2" />
    <circle cx="100" cy="175" r="25" fill="#79f" class="circle-3" />
    <circle cx="25" cy="100" r="25" fill="#8ce" class="circle-4" />
</svg>

サンプルのCSSソース

.artboard {
  margin: 0 auto;
  width: 200px;
  height: 200px;
  position: relative;
  animation: spin 3s forwards infinite ease-out;
}
.circle-1 {
  animation: switch-top 3s infinite ease-out;
}
.circle-3 {
  animation: switch-bottom 3s infinite ease-out;
}
.circle-4 {
  animation: switch-left 3s infinite ease-out;
}
.circle-2 {
  animation: switch-right 3s infinite ease-out;
}
@keyframes spin {
  0% {
    transform: rotate(0turn);
  }
  30% {
    transform: rotate(1turn);
  }
  50% {
    transform: rotate(1turn);
  }
  80% {
    transform: rotate(2turn);
  }
  100% {
    transform: rotate(2turn);
  }
}
@keyframes switch-top {
  0% {
    transform: translateY(0px);
  }
  30% {
    transform: translateY(0px);
  }
  40% {
    transform: translateY(150px);
  }
  80% {
    transform: translateY(150px);
  }
  90% {
    transform: translateX(0px);
  }
}
@keyframes switch-bottom {
  0% {
    transform: translateY(0px);
  }
  30% {
    transform: translateY(0px);
  }
  40% {
    transform: translateY(-150px);
  }
  80% {
    transform: translateY(-150px);
  }
  90% {
    transform: translateX(0px);
  }
}
@keyframes switch-left {
  0% {
    transform: translateX(0px);
  }
  35% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(150px);
  }
  85% {
    transform: translateX(150px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes switch-right {
  0% {
    transform: translateX(0px);
  }
  35% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(-150px);
  }
  85% {
    transform: translateX(-150px);
  }
  100% {
    transform: translateX(0px);
  }
}

 

 

引用と参考;https://codepen.io/GabEsu/pen/mKBWMM
戻るボタン