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

CSSでfadeOutUpBig(大きなフェードアウト)アニメーション効果を実装する方法

CSSを使えば、JavaScriptに頼らなくても要素を画面の上方向へ大きく移動させながらフェードアウトさせる「fadeOutUpBig」アニメーションを簡単に実装できます。この効果は、画像やロゴ、バナーなどをスムーズに退場させたい場合に便利です。

fadeOutUpBigアニメーションの仕組み

このアニメーションは、@keyframesルールで定義します。開始時点(0%)では要素は不透明度1・元の位置にあり、終了時点(100%)では不透明度0になりながら2000px上方向へ移動します。これにより、要素が大きく浮き上がるように消えていく演出が生まれます。

主なプロパティのポイント

  • animation-duration: アニメーションの再生時間を指定します(例では10秒)。
  • animation-fill-mode: both; アニメーション開始前後もキーフレームの状態を保持し、途中でスタイルが戻るのを防ぎます。
  • -webkit-接頭辞付きの記述を併記することで、古いSafariなどWebKit系ブラウザにも対応できます。

実装例

以下のコードでは、背景画像として設定したロゴに対してfadeOutUpBigアニメーションを適用しています。「Reload page」ボタンをクリックするとページが再読み込みされ、アニメーションを再度確認できます。

<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 fadeOutUpBig {
            0% {
               opacity: 1;
               -webkit-transform: translateY(0);
            }
            100% {
               opacity: 0;
               -webkit-transform: translateY(-2000px);
            }
         }

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

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

   </head>
   <body>

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

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

   </body>
</html>

カスタマイズのヒント

移動距離を調整したい場合は、translateY(-2000px)の値を変更してください。また、animation-durationを短くするとより軽快な演出になります。animation-timing-functionease-inなどを指定すれば、加速しながら消えていく自然な動きも表現できます。

  1. CSSでロールアウトアニメーション効果を作成する方法

    CSSのアニメーション(@keyframes)を活用すると、JavaScriptに頼らずに要素が回転しながら画面の外へ消えていく「ロールアウト」効果を簡単に実装できます。この記事では、実際に動作するサンプルコードを通じて、その実装方法をわかりやすく解説します。ロールアウトアニメーションの仕組みロールアウトアニメーションは、主に以下のCSSプロパティを組み合わせて実現します。transform:translateX()で横方向に移動させ、rotate()で要素を回転させます。opacity:要素を徐々に透明にすることで、滑らかに消える演出を作れます。@keyframes:アニメーションの開始(0

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

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