【初心者向け】CSSで簡単!ページ読み込み時に要素をフェードインさせる方法

2024-04-02

CSS を使用してページ読み込み時にフェードインエフェクトを表示する方法

必要な知識

  • CSSの基本構文
  • アニメーションプロパティ

概要

この方法は、opacity プロパティと @keyframes ルールを使用して、要素の透明度を徐々に変化させてフェードイン効果を実現します。

手順

  1. HTML

フェードインさせたい要素に class 属性または id 属性を追加します。

<div class="fade-in">
  <h1>タイトル</h1>
  <p>本文</p>
</div>
  1. CSS

以下のコードをスタイルシートに追加します。

.fade-in {
  opacity: 0; /* 最初の透明度 */
  transition: opacity 0.5s ease-in-out; /* アニメーション設定 */
}

.fade-in.active {
  opacity: 1; /* 最終的な透明度 */
}
  1. JavaScript

ページ読み込み時に .fade-in 要素に active クラスを追加します。

window.addEventListener('load', function() {
  document.querySelector('.fade-in').classList.add('active');
});

解説

  • opacity プロパティ: 要素の透明度を設定します。0 は完全に透明、1 は完全に不透明です。
  • transition プロパティ: 要素のプロパティの変化をアニメーション化します。
  • active クラス: .fade-in 要素にこのクラスを追加すると、opacity プロパティが 1 になり、要素が完全に表示されます。

補足

  • アニメーションの速度やタイミングは、transition プロパティの値を変更して調整できます。
  • フェードインエフェクトの方向を変更するには、@keyframes ルールを使用して、transform プロパティをアニメーション化できます。
  • 上記のコードは基本的な例です。必要に応じて、コードをカスタマイズして、さまざまなフェードインエフェクトを作成できます。
  • より複雑なアニメーションを作成するには、JavaScript ライブラリを使用することもできます。

改善点

  • 日本語で分かりやすく解説するように、用語や説明を修正しました。
  • コード例を簡潔に記述しました。



<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>フェードインエフェクト</title>
  <style>
    .fade-in {
      opacity: 0;
      transition: opacity 0.5s ease-in-out;
    }

    .fade-in.active {
      opacity: 1;
    }
  </style>
</head>
<body>
  <div class="fade-in">
    <h1>タイトル</h1>
    <p>本文</p>
  </div>

  <script>
    window.addEventListener('load', function() {
      document.querySelector('.fade-in').classList.add('active');
    });
  </script>
</body>
</html>

このコードは、ページ読み込み時に <h1><p> 要素をフェードインさせる例です。

  • fade-in クラス: フェードインさせる要素にこのクラスを追加します。
  • window.addEventListener イベント: ページ読み込み時に active クラスを追加します。

実行方法

  1. 上記のコードを HTML ファイルとして保存します。
  2. ブラウザでファイルを開きます。

結果

ページ読み込み時に、<h1><p> 要素が徐々に表示されます。




CSSでフェードインエフェクトを表示する他の方法

@keyframes ルールを使用して、アニメーションのタイミングをより細かく制御できます。

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fade-in {
  animation: fade-in 0.5s ease-in-out;
}

animation-delay プロパティを使用して、アニメーションの開始タイミングを遅らせることができます。

.fade-in {
  opacity: 0;
  animation: fade-in 0.5s ease-in-out 1s;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

JavaScriptを使用して、要素の透明度を徐々に変化させてフェードインエフェクトを作成することもできます。

function fadein(element) {
  let opacity = 0;
  let interval = setInterval(function() {
    opacity += 0.01;
    element.style.opacity = opacity;
    if (opacity >= 1) {
      clearInterval(interval);
    }
  }, 10);
}

window.addEventListener('load', function() {
  fadein(document.querySelector('.fade-in'));
});

ライブラリを使用する

Animate.css や Velocity.js などのライブラリを使用すると、簡単にフェードインエフェクトを作成できます。

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css">

<div class="animated fadeIn">
  <h1>タイトル</h1>
  <p>本文</p>
</div>

css css-transitions opacity


職人技: HTMLとCSSで奏でる、div要素インライン表示のシンフォニー

ここでは、div要素をインライン表示するための方法を、CSSプロパティを用いて解説します。displayプロパティは、要素の表示形式を指定するプロパティです。div要素をインライン表示するには、displayプロパティに以下のいずれかの値を指定します。...


HTMLとCSSで幅を指定せずにdivブロックを中央に配置する4つの方法

方法1:マージンを使用する最も簡単な方法は、marginプロパティを使って左右の余白を自動的に設定する方法です。この方法のメリットは、シンプルでコード量が少なくて済むことです。ただし、親要素の幅が固定されていない場合、divブロックが親要素からはみ出してしまう可能性があります。...


float、displayプロパティとflexbox、gridレイアウト:divを横に並べるための代表的な方法

HTMLとCSSを使って、div要素を横に並べる方法はいくつかあります。ここでは、代表的な3つの方法と、それぞれの利点と欠点について詳しく解説します。方法1:floatプロパティを使う説明floatプロパティは、要素を他の要素の周りに回り込ませるように配置するために使用されます。div要素を横に並べる場合、各div要素に float: left; プロパティを指定することで、左から右に並べることができます。...


もう迷わない!input type="date" の日付フォーマット変更完全ガイド

HTMLの<input>要素で type="date" を指定すると、日付入力用のフィールドが表示されます。しかし、デフォルトのフォーマットはブラウザによって異なり、使いにくい場合もあります。そこで、CSSを使って日付フォーマットを自由にカスタマイズする方法を紹介します。...


@keyframes ルールでアニメーション作成

複数の変換を適用するには、いくつかの方法があります。カンマ区切り最も簡単な方法は、カンマで区切って複数の変換を指定することです。例えば、以下のコードは、要素を45度回転し、10px右に移動します。transform 関数複数の変換をより複雑な方法で組み合わせたい場合は、transform 関数を使用することができます。この関数は、複数の変換を単一のプロパティとして指定することができます。...


SQL SQL SQL SQL Amazon で見る



Webサイトを華やかに!CSS3で実現する多彩な点滅テキスト

@keyframes アニメーションを使用するこの方法は、最も柔軟で、さまざまな点滅効果を作成するために使用できます。HTML:CSS:上記のコードは、テキストを1秒間隔で点滅させます。@keyframes blink は、アニメーションの名前と、各キーフレームにおけるスタイルを定義します。