CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSSでbounceOutUp(上方向バウンスアウト)アニメーション効果を実装する方法

CSSでbounceOutUp(上方向へ跳ね返りながら消える)アニメーション効果を実装するには、以下のコードを試してみてください。要素が一度下方向に移動した後、画面の上へ大きく跳ね上がりながらフェードアウトしていく、躍動感のある演出が簡単に作成できます。

サンプルコード

<html>
   <head>

      <style>
         .animated {
            background-image: url(/css/images/logo.png);
            background-repeat: no-repeat;
            background-position: left top;
            padding-top:95px;
            margin-bottom:60px;
            -webkit-animation-duration: 10s;
            animation-duration: 10s;
            -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
         }

         @-webkit-keyframes bounceOutUp {
            0% {
               -webkit-transform: translateY(0);
            }
            20% {
               opacity: 1;
               -webkit-transform: translateY(20px);
            }
            100% {
               opacity: 0;
               -webkit-transform: translateY(-2000px);
            }
         }

         @keyframes bounceOutUp {
            0% {
               transform: translateY(0);
            }
            20% {
               opacity: 1;
               transform: translateY(20px);
            }
            100% {
               opacity: 0;
               transform: translateY(-2000px);
            }
         }

         .bounceOutUp {
            -webkit-animation-name: bounceOutUp;
            animation-name: bounceOutUp;
         }
      </style>

   </head>
   <body>

      <div id = "animated-example" class = "animated bounceOutUp"></div>
      <button onclick = "myFunction()">Reload page</button>

      <script>
         function myFunction() {
            location.reload();
         }
      </script>

   </body>
</html>

コードの解説

  • @keyframes bounceOutUp:アニメーションの進行度(0%・20%・100%)ごとの状態を定義しています。
  • transform: translateY():要素を縦方向に移動させます。20%の時点で一度20px下に移動し、その後-2000pxまで一気に上方向へ跳ね上がります。
  • opacity:20%時点では不透明度1(完全に表示)、100%時点で0(非表示)にすることで、フェードアウトしながら消える自然な演出になります。
  • -webkit-プレフィックス:SafariなどWebKit系ブラウザ向けの互換性対応として記述しています。
  • animation-fill-mode: both:アニメーションの開始前・終了後にもスタイルを適用し、意図しない表示崩れを防ぎます。

ページを開くとアニメーションが自動的に再生され、「Reload page」ボタンをクリックすると再読み込みされて何度でも確認できます。ボタンのラベルは日本語化しても問題なく動作しますので、用途に合わせてカスタマイズしてください。

  1. CSSで回転しながら消えるアニメーション(rotateOut)を作る方法

    CSSを使えば、要素が回転しながら画面から消えていく「rotateOut(回転退場)」アニメーションを簡単に実装できます。ここでは、@keyframesとanimationプロパティを組み合わせた基本的な実装例を紹介します。 実装例 以下のコードでは、画像を含む要素が10秒かけて200度回転しながらフェードアウトします。「Reload page」ボタンでページを再読み込みすると、アニメーションを何度でも確認できます。 <html>    <head>       <style>     &

  2. CSSでrotateOutUpRight(右上へ回転して退場)アニメーションを実装する方法

    CSSを使えば、要素が右下を軸として時計回りに90度回転しながら画面から消えていく「rotateOutUpRight(右上へ回転して退場)」アニメーションを簡単に実装できます。この記事では、@keyframesルールとtransform-originプロパティを組み合わせた具体的な実装例を紹介します。 rotateOutUpRightアニメーションの仕組み このアニメーションは、以下のCSSプロパティを組み合わせて実現します。 transform-origin:回転の軸となる基準点を指定します。ここでは「right bottom(右下)」を指定しています。 transform: rotate