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

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

CSSを使えば、画像や要素を画面の下へ大きく移動させながら徐々に透明化させる「fadeOutDownBig」アニメーション効果を簡単に実装できます。このエフェクトは、要素が下へ落ちて消えていくようなダイナミックな演出を作り出すのに適しています。

以下のコードを実行すると、ロゴ画像が10秒かけて下方向に2000px移動しながらフェードアウトしていきます。ページ下部の「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 fadeOutDownBig {
            0% {
               opacity: 1;
               -webkit-transform: translateY(0);
            }
            100% {
               opacity: 0;
               -webkit-transform: translateY(2000px);
            }
         }

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

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

   </head>
   <body>

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

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

   </body>
</html>

コードのポイント解説

  • @keyframes fadeOutDownBig: アニメーションの開始時点(0%)では opacity: 1(不透明)、終了時点(100%)では opacity: 0(完全に透明)に設定し、同時に transform: translateY(2000px) によって要素を下方向へ大きく移動させています。
  • animation-duration: アニメーションが完了するまでの時間を10秒に設定しています。この値を小さくすると、より短時間でアニメーションが再生されます。
  • animation-fill-mode: both: アニメーションの開始前および終了後も、キーフレームで指定されたスタイルの状態を保持します。これにより、アニメーション終了後に要素が不自然に元の位置へ戻ることを防げます。
  • ベンダープレフィックス: 古いWebKit系ブラウザへの対応として -webkit- プレフィックス付きの記述を併記しています。現在の主要ブラウザでは、標準の @keyframes のみで問題なく動作します。

移動距離(translateY の値)やアニメーションの時間(animation-duration)を調整することで、演出のスピードや印象を自由にカスタマイズできます。ぜひ自分のサイトに合わせて試してみてください。

  1. CSSで実現する「右下を基点に回転して登場する」アニメーション効果(rotateInDownRight)

    CSSを使えば、要素が画面の右下を基点として回転しながら登場する「rotateInDownRight」アニメーションを簡単に実装できます。このエフェクトは、@keyframesで回転角度と透明度を制御し、transform-originプロパティで回転の基点を指定するのがポイントです。 以下のコードを実行すると、ロゴ画像が右下を軸に90度傾いた状態からスタートし、徐々に正面へ回転しながらフェードインして表示されます。 実装例 <html>    <head>       <style>   &nbs

  2. CSSで左下を基点に回転しながら表示されるアニメーション(rotateInDownLeft)を実装する方法

    CSSを使えば、要素が左下を軸に回転しながらフェードインする「rotateInDownLeft」アニメーションを簡単に実装できます。この効果は、ロゴやバナーを目立たせたい場合などに活用できる定番の演出です。以下のサンプルコードを実行して、実際の動きを確認してみてください。 サンプルコード <html>    <head>       <style>          .animated {