[CSS]スタイルシートで実装する気持ちいいリズムで弾むローディングのアニメーション

昨日、Facebookで紹介した「クラゲ」もCSSアニメーションとは思えない美しさでした。
こちらもなかなか楽しい、軽快なリズムで弾むローディングのアニメーションを実装するスタイルシートを紹介します。

デモのキャプチャ

Bouncy Animated Loading Animation

デモはChrome, Safari, Firefoxでご覧ください。
IEは上のGIFアニメーションで、、、

デモのキャプチャ

デモページ

実装はHTML+CSSです。
もちろん、JavaScriptもFlashも使用されていません。

HTML

spanを増やすと玉が増えます。増やした分のディレイをCSSで設定します。

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

CSS

Webkit用とFirefox用の2種類が記述されているので長くみえますが、スタイルシートは非常にシンプルです。

.loader {
    text-align: center;    
}
.loader span {
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    margin: 50px auto;
    background: black;
    border-radius: 50px;
    -webkit-animation: loader 0.9s infinite alternate;
    -moz-animation: loader 0.9s infinite alternate;
}
.loader span:nth-of-type(2) {
    -webkit-animation-delay: 0.3s;
    -moz-animation-delay: 0.3s;
}
.loader span:nth-of-type(3) {
    -webkit-animation-delay: 0.6s;
    -moz-animation-delay: 0.6s;
}
@-webkit-keyframes loader {
  0% {
    width: 10px;
    height: 10px;
    opacity: 0.9;
    -webkit-transform: translateY(0);
  }
  100% {
    width: 24px;
    height: 24px;
    opacity: 0.1;
    -webkit-transform: translateY(-21px);
  }
}
@-moz-keyframes loader {
  0% {
    width: 10px;
    height: 10px;
    opacity: 0.9;
    -moz-transform: translateY(0);
  }
  100% {
    width: 24px;
    height: 24px;
    opacity: 0.1;
    -moz-transform: translateY(-21px);
  }
}

top of page

©2017 coliss