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

CSSで実装する「Fade In Right Big」フェードインアニメーションの作り方

CSSを使えば、JavaScriptに頼らずとも要素を画面右側から大きくスライドさせながらフェードインさせるアニメーションを簡単に実装できます。この記事では、fadeInRightBigエフェクトの仕組みと、実際に動くサンプルコードを紹介します。

fadeInRightBigアニメーションとは

fadeInRightBigは、要素を画面の右端(約2000px右)から元の位置へ移動させながら、透明度を0から1へ変化させて表示するアニメーションです。通常のfadeInRightよりも移動距離が大きいため、「Big」という名前が付いています。ページ読み込み時の演出や、コンテンツの出現エフェクトとして効果的です。

実装のポイント

  • @keyframesでアニメーションの開始(0%)と終了(100%)の状態を定義する
  • transform: translateX()で水平方向の移動量を指定する
  • opacityでフェードイン効果を組み合わせる
  • 古いWebKit系ブラウザ向けに-webkit-プレフィックスも併記すると互換性が向上する

サンプルコード

以下のコードをそのままHTMLファイルに保存してブラウザで開くと、ロゴ画像が右側からスライドしながらフェードインして表示されます。「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 fadeInRightBig {
            0% {
               opacity: 0;
               -webkit-transform: translateX(2000px);
            }
            100% {
               opacity: 1;
               -webkit-transform: translateX(0);
            }
         }

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

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

   </head>
   <body>

      <div id="animated-example" class="animated fadeInRightBig"></div>
      <button onclick="myFunction()">Reload page</button>
      <script>
         function myFunction() {
            location.reload();
         }
      </script>
   </body>
</html>

コードの解説

1. 基本スタイル(.animatedクラス)

animation-duration: 10s;でアニメーション全体の長さを10秒に設定しています。より軽快な演出にしたい場合は、この値を短く(例:1s〜2s)変更してください。animation-fill-mode: both;を指定することで、アニメーション開始前は0%の状態(非表示)、終了後は100%の状態(表示)が維持されます。

2. キーフレーム定義(@keyframes)

0%の時点ではopacity: 0(完全に透明)かつtranslateX(2000px)(2000px右にオフセット)の状態から始まり、100%でopacity: 1translateX(0)(元の位置)へ到達します。これにより「右から飛び込んでくるような」自然なフェードインが実現されます。

3. アニメーション名の適用(.fadeInRightBigクラス)

animation-nameプロパティで定義したキーフレームを要素に紐付けています。このクラスを任意の要素に追加するだけで、同じエフェクトを再利用できるのがCSSアニメーションの利点です。

カスタマイズのヒント

  • 移動距離を調整したい場合は、translateX(2000px)の数値を変更します(例:500pxなら控えめなスライドインになります)
  • animation-timing-function: ease-out;などを追加すると、動きに緩急がつきより洗練された印象になります
  1. CSSでrotateInUpRight(右上へ回転しながら登場)アニメーションを実装する方法

    CSSの@keyframesとtransformプロパティを組み合わせることで、要素が右下を支点に回転しながらフェードインしてくる「rotateInUpRight」アニメーションを簡単に実装できます。rotateInUpRightアニメーションの仕組みこのアニメーションでは、以下のポイントを押さえています。transform-origin: right bottom … 要素の右下を回転の中心(支点)に設定します。transform: rotate(-90deg) … 開始時点では要素を-90度(左に倒れた状態)に傾けます。opacity … 開始時に0(透明)、終了時に1(不透明)へ変化させ

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

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