読み込み中...

CSSでゆっくり消えるアニメーションを作る!初心者向け徹底解説と応用方法

CSSでゆっくり消えるアニメーションを作る初心者向け徹底解説イメージ CSS
この記事は約7分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

こんにちは!

今回は、初心者向けにCSSでゆっくり消えるアニメーションの作り方、使い方、応用方法を徹底解説していきます。

サンプルコード付きでわかりやすく解説し、応用例も紹介します。

これを読めば、あなたもCSSでゆっくり消えるアニメーションをマスターできるでしょう!

●CSSとは

CSS(Cascading Style Sheets)は、HTMLやXML文書のスタイル(フォント、色、レイアウトなど)を指定するための言語です。

CSSを使うことで、デザインとコンテンツを分離し、効率的にウェブサイトの見た目を制御できます。

●CSSアニメーションとは

CSSアニメーションは、CSSのみで作成できるアニメーションのことを指します。

JavaScriptを使わずに、軽量で簡単に実装できるため、ウェブページのパフォーマンスに優れています。

ゆっくり消えるアニメーションは、その中でも非常にポピュラーな効果のひとつです。

【ゆっくり消えるアニメーションの作り方】

●HTMLとCSSの基本構造

まずは、ゆっくり消えるアニメーションを実装するためのHTMLとCSSの基本構造を確認しましょう。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSSでゆっくり消えるアニメーション</title>
  <style>
    /* ここにCSSを記述 */
  </style>
</head>
<body>
  <!-- ここにHTML要素を記述 -->
</body>
</html>

この基本構造をベースに、ゆっくり消えるアニメーションを実装していきます。

●ゆっくり消えるアニメーションのCSS

次に、ゆっくり消えるアニメーションを実現するためのCSSを記述します。

アニメーションには、@keyframesルールを使用します。

ここでは、アニメーションの名前を「fadeOut」として定義しましょう。

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

上記のコードでは、アニメーション開始時(0%)に要素の透明度を1(不透明)にし、アニメーション終了時(100%)に要素の透明度を0(完全に透明)にしています。

次に、アニメーションを適用したい要素に、下記のようなスタイルを追加します。

.fade-out {
  animation: fadeOut 3s;
}

ここでは、アニメーションの名前「fadeOut」を指定し、アニメーションの持続時間を3秒に設定しています。

●HTML要素へのクラスの適用

最後に、ゆっくり消えるアニメーションを適用したいHTML要素に、「fade-out」というクラスを追加します。

<div class="fade-out">ゆっくり消えるテキスト</div>

これで、上記のテキストは、ページが読み込まれたときにゆっくりと消えるアニメーションが適用されます。

【使い方の例】

ここでは、さまざまな使い方の例を紹介します。

サンプルコードを参考にして、自分のウェブページにも応用してみてください。

●ボタンを押すと要素がゆっくり消える

次のサンプルコードでは、ボタンを押すと要素がゆっくり消えるアニメーションが実行されます。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSSでゆっくり消えるアニメーション - ボタンクリックで実行</title>
  <style>
    @keyframes fadeOut {
      0% {
        opacity: 1;
      }
      100% {
        opacity: 0;
      }
    }

    .fade-out {
      animation: fadeOut 3s forwards;
      display: inline-block;
    }
  </style>
</head>
<body>
  <div id="target">ゆっくり消えるテキスト</div>
  <button id="button">ボタン</button>

  <script>
    document.getElementById('button').addEventListener('click', function() {
      document.getElementById('target').classList.add('fade-out');
    });
  </script>
</body>
</html>

このコードでは、ボタンがクリックされると、JavaScriptを使って「fade-out」クラスがテキスト要素に追加され、ゆっくり消えるアニメーションが実行されます。

アニメーションが終了した後に要素が非表示になるように、forwardsをanimationプロパティに追加しています。

●マウスオーバーで要素がゆっくり消える

次に、マウスオーバーで要素がゆっくり消えるアニメーションを実行する例を見てみましょう。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSSでゆっくり消えるアニメーション - マウスオーバーで実行</title>
  <style>
    @keyframes fadeOut {
      0% {
        opacity: 1;
      }
      100% {
        opacity: 0;
      }
    }

    .target:hover {
      animation: fadeOut 3s forwards;
    }
  </style>
</head>
<body>
  <div class="target">マウスオーバーでゆっくり消えるテキスト</div>
</body>
</html>

このコードでは、:hover疑似クラスを使って、マウスオーバー時に「fade-out」アニメーションが実行されるように設定しています。

【応用例】

●ゆっくり現れるアニメーション

ゆっくり消えるアニメーションと同様に、ゆっくり現れるアニメーションも簡単に実装できます。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSSでゆっくり現れるアニメーション</title>
  <style>
    @keyframes fadeIn {
      0% {
        opacity: 0;
      }
      100% {
        opacity: 1;
      }
    }

    .fade-in {
      animation: fadeIn 3s;
      opacity: 0;
    }
  </style>
</head>
<body>
  <div class="fade-in">ゆっくり現れるテキスト</div>
</body>
</html>

このコードでは、アニメーション開始時(0%)に要素の透明度を0(完全に透明)にし、アニメーション終了時(100%)に要素の透明度を1(不透明)にしています。

これにより、ゆっくりと現れるアニメーションが実現されます。

まとめ

この記事では、初心者向けにCSSでゆっくり消えるアニメーションの作り方、使い方、応用方法を徹底解説しました。

サンプルコード付きでわかりやすく解説し、応用例も紹介しました。

これであなたもCSSでゆっくり消えるアニメーションをマスターできることでしょう。

最後に、CSSアニメーションは、パフォーマンスに優れているため、ウェブページのデザインに積極的に取り入れてみてください。

さまざまなアニメーション効果を組み合わせることで、より魅力的なウェブページが作成できます。

今後も、CSSアニメーションの知識を深め、スキルを磨いていきましょう。