Webサイトでよく見かける、スクロールに合わせてふわっと要素が表示されるフェードインやスライドアニメーション。
「自分のサイトでも導入したいけど難しそう…」といったイメージがあるかもしれません。
実は、IntersectionObserver(インターセクション・オブザーバー)というJavaScriptの仕組みを使えば、それほど難しい処理を書かずにスクロール連動アニメーションを実装できます。
この記事では、スクロールアニメーションの仕組み・サンプルコード・具体的な実装方法まで丁寧に解説します。
- 初心者〜中級のWeb制作学習者
→ クラスの付け方等、HTMLとCSSの基礎を理解されている方
→ 自作したアニメーションも追加できます - フェードインやスライドなどのスクロールアニメーションを自サイトに導入したい方
- JavaScriptは苦手だけど、動きのあるサイトを作りたい方
この記事の一部(そのままコピペで使える完成版のHTML/CSS/JSコピペテンプレート等)は有料公開です。すぐに導入したい方は以下の実装方法をご覧ください。

当サイトのトップページに導入している方法です。
IntersectionObserverでスクロールアニメーションを作る仕組み

IntersectionObserverとは?
IntersectionObserver(インターセクション・オブザーバー)は、ページ内の要素が画面内に入ったかどうかを監視できるJavaScriptの機能です。
例えば、下にスクロールして画像やテキストが見えるタイミングでふわっと表示させることができます。
特徴

実際に使ってみると、スクロールイベントで悩んでいた画面のカクつきが改善されました。
スクロール監視のイメージ
ユーザーがスクロールすると、画面に要素が見えるタイミングでアニメーションが発火します。
[画面上部]
───────────────
↓ スクロール
───────────────
[要素が画面内に入る]
→ JavaScriptが検知
→ .activeクラスが追加
→ CSSアニメーション発火
───────────────

この流れを理解すると、スクロールに合わせた自然なアニメーションがイメージしやすくなります。
サンプルコード(簡単な例)
HTML(イメージ)
<div class="fade-in">フェードインする要素</div>
CSS(フェードの例)
.fade-in {
opacity: 0; /* 初期は非表示 */
transition: opacity 1s ease-in-out;
}
.fade-in.active {
opacity: 1; /* activeが付くとフェードイン */
}
仕組みのコード例(擬似版)
// ページ読み込み後に実行
document.addEventListener("DOMContentLoaded", () => {
const targets = document.querySelectorAll(".fade-in");
// 要素が表示領域に入ったらクラスを付与する仕組み
const observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
// ここで .active を付与してアニメーションを発火させる
// ※ 実際の処理は有料パートで解説します
}
});
});
// 各要素を監視
targets.forEach(target => observer.observe(target));
});
上のコードは、ページ読み込みが完了したあとに.fade-in クラスを持つ要素をすべて取得し、スクロールで画面内に入ったタイミングを監視しています。
- 上記のサンプルコードは仕組みを理解するための簡易版です
- 実際のアニメーションは
.activeクラスを付与したCSSで制御します - さらに、一度きりの再生・繰り返し再生、交差判定(オプション設定)などは有料記事内で詳しく解説しています
スクロールアニメーションの実例サンプル
スクロールアニメーションは表示の仕方によっていくつかの種類があります。ここではWebサイトでよく使われる代表的なアニメーションを5パターン紹介します。
- サンプル用にボタンクリックで再生
- 実際のページではスクロールに合わせてアニメーション発火
ここで使っているアニメーションの仕組みと記述方法はこちらの記事で解説しています。
フェードイン(ふわっと表示)
- 特徴:要素が徐々に表示されるシンプルなアニメーション
- 用途:テキストや画像の登場に自然さを加えたいとき
See the Pen スクロールアニメーション|フェードイン(fade-in) by Turicco (@Turicco) on CodePen.
下からフェードイン
- 特徴:下から上にスライドしながらふわっと表示される
- 用途:段落やリスト項目など順序を意識して見せたいとき
See the Pen スクロールアニメーション|下からフェードイン(fade-up) by Turicco (@Turicco) on CodePen.
右からスライドイン
- 特徴:画面右側から横にスライドして表示
- 用途:画像やカード型コンテンツに動きをつけたいとき
See the Pen スクロールアニメーション|右からスライドイン(slide-right) by Turicco (@Turicco) on CodePen.
左からスライドイン
- 特徴:右からスライドインの逆、左側から表示
- 用途:左寄せレイアウトのコンテンツを自然に出現させたいとき
See the Pen スクロールアニメーション|左からスライドイン(slide-left) by Turicco (@Turicco) on CodePen.
拡大して表示(ズームイン)
- 特徴:小さい状態から徐々に拡大しながら表示
- 用途:見出しやアイキャッチ画像など目立たせたい要素に効果的
See the Pen スクロールアニメーション|拡大して表示(scale-up) by Turicco (@Turicco) on CodePen.
スクロールアニメーションの具体的な実装方法|IntersectionObserver

HTMLにアニメーション用クラスを付ける
アニメーションさせたい要素に対応するクラスを付けます。
これで 「どんな動きをさせたいか」 を指定します。
<div class="scroll-fade-in">フェードイン</div>
<div class="scroll-fade-up">下からフェードイン</div>
<div class="scroll-slide-right">右からスライドイン</div>
<div class="scroll-slide-left">左からスライドイン</div>
<div class="scroll-scale-up">拡大して表示</div>
上記のようにクラス名を変えるだけで、動きの種類を切り替えられます。
(例)scroll-fade-up → 下からふわっと出現、scroll-slide-left → 左からスライドイン
WordPressブロックエディタで設定する場合
HTMLを直接書かなくてもOK。
ブロックごとに 追加CSSクラス を設定すれば簡単に使えます。
- 編集画面でアニメーションさせたいブロックを選択
- 右側の「ブロック」設定パネルを開く
- 「高度な設定」→「追加CSSクラス」に、アニメーション用クラスを入力
例:scroll-fade-up - 更新(またはプレビュー)すると、スクロール時にふわっと動きます
詳しい方法は → 追加CSSクラスの使い方
ブロックエディタで特定のブロックにだけデザインを当てる方法を紹介しています。
CSSでアニメーションを定義
activeクラスが付くとアニメーションが発動します。- 好みでスピードや移動距離も調整可能です。
transitionプロパティを使って、滑らかな変化を表現しています。
例:
.fade-in {
opacity: 0; /* 初期は非表示 */
transition: opacity 1s ease-in-out;
}
.fade-in.active {
opacity: 1; /* activeが付くとフェードイン */
}
ここから先は 有料コンテンツ になります。
無料部分で紹介したアニメーションは「イメージ用」でしたが、実際にサイトへ導入するには スクロールを監視して、表示タイミングでクラスを付与する仕組みが必要です。
- 実用CSSテンプレート
- フェードイン
- 下からフェードイン
- 右からスライドイン
- 左からスライドイン
- 拡大して表示
- IntersectionObserverを使ったスクロール監視のJavaScriptコード(解説あり)
- 交差判定(options)→ 使い勝手◎
- 一度だけ再生/繰り返し再生の切り替え方法
5種類のテンプレート+スクロール制御一式 → 980円
アニメーション1つあたり200円以下で手に入るお得なセットです。

■ サイト名
Turicco
■ サイトURL
https://turicco.com/
■ 運営者情報
運営責任者:はるみ
お問い合わせ先:https://turicco.com/contact/
■ 購入方法
コンテンツ販売サービス「codoc(コードク)」を利用しています。
詳しくは codoc購入者向けFAQ をご覧ください。
■ 納品方法
購入完了後、対象の記事が閲覧可能になります。
■ お支払い方法
・クレジットカード
・デビットカード
・プリペイド型クレジットカード
・Apple Pay
・Google Pay
・コンビニ決済
※クレジットカード情報はSSLで暗号化され、決済サービス「Stripe」に直接送信されます。管理人がカード情報を取得・保管することはありません。
■ 返金・キャンセルについて
codoc株式会社の利用規約第10条(返金)に基づき、原則としてご購入後のキャンセル・返金はできません。あらかじめご了承ください。
■ 販売価格
980円(税込)







Comment 記事の感想を書き込んでいただけると幸いです