フェードイン
Scroll-triggered fade-in
↻ 約2〜3秒で変化。短い間を入れて自動ループします
HTMLでサイトやスライドを作っていると、モーションの呼び名や動きがときどき自分でも分からなくなる。あの動きは何という名前だったか。名前は見たことがあっても、どんな動きだったか思い出せないこともある。
そのたびに見返せるように作ったのが、この「スクロール演出24 — Motion Atlas」である。フェードインやパララックス、スクロールテリングを含む24種類の演出を一つのHTMLにまとめ、名前と実際の動きを一緒に確認できるようにした。
自分はHTMLでスライドも作っているので、制作中に動きを選ぶための手元の資料として使いたい。図鑑は「出てくる」「連動する」「固定・案内する」に分かれ、各デモには役割、使う場面、注意点とAIへの指示例を添えてある。
動きをゆっくり見たいときは観察速度を変え、気になる演出は検索で絞り込める。AIに実装を頼むなら、その演出の「指示をコピー」から具体的な動きを伝えられる。
必要であれば、HTMLファイルをダウンロードして使ってほしい。保存したファイルをブラウザーで開けば、この図鑑をオフラインでも見返せる。サイトやHTMLスライドを作る際に、動きの確認用として手元に置いてもらえればと思う。
スクロール演出 24 のビジュアル図鑑
24種類の動きを、見て・比べて・理解する。
大きな画面で、自然なテンポで繰り返す実演から、実装したい表現を選べます。
画面に入ったら、時間で再生
スクロールの位置・速度で変化
位置を保つ、止める、現在地を示す
使い方 自動ループする動きを見る → 右で役割を読む → 「指示をコピー」でAIへ
スマートフォンは縦並び該当する動きがありません。別の語句で検索するか、絞り込みを解除してください。
きっかけはスクロール、再生するのは時間。画面に入ったら決めた速さで動きます。
Scroll-triggered fade-in
↻ 約2〜3秒で変化。短い間を入れて自動ループします
Slide-in
Stagger animation
↻ 約2〜3秒で変化。短い間を入れて自動ループします
ひとつずつ、時間差で現れる。
同じアニメーション + 要素ごとのdelay [7]
4枚の特徴カードをスタッガー表示してください。グループが画面に入ったら左から順に120msずつ遅らせ、各カードを下16px・opacity 0から500msで表示します。全体を1秒程度で完了し、初回だけ再生してください。
Text reveal / Split text
↻ 約2〜3秒で変化。短い間を入れて自動ループします
文字が、下から順に立ち上がる。
文字分割 + overflow: hidden + translateY() [7]
「動きには、意味がある。」を文字単位のテキストリビールで表示してください。各文字をクリップ領域の下からtranslateY(110%)→0へ650ms、65msずつの時間差で立ち上げます。読み上げでは文章を一度だけ読める構造にしてください。
Clip-path reveal
↻ 約2〜3秒で変化。短い間を入れて自動ループします
幕が開くように、画像を見せる。
clip-path: inset() [8]
写真を左から右へのマスクリビールで表示してください。画像の位置は固定し、clip-pathをinset(0 100% 0 0)からinset(0 0 0 0)へ1,000ms・ease-in-outで変化させます。画像が読み込まれてから初回のみ再生してください。
Blur-in reveal
↻ 約2〜3秒で変化。短い間を入れて自動ループします
ぼんやりした像が、くっきりする。
filter: blur() + opacity [7]
ブランドコピーにブラーインを付けてください。位置は固定し、filter: blur(16px)とopacity: 0から、blur(0)とopacity: 1へ1,000msで変化させます。長文には適用せず、初回だけ再生してください。
Typewriter effect
↻ 約2〜3秒で変化。短い間を入れて自動ループします
一文字ずつ、打ち込まれていく。
文字数を時間で更新(本デモはJS) [7]
「アイデアを、かたちに。」をタイプライター表示してください。90msごとに一文字ずつ追加し、削除やループは行いません。表示領域の高さを先に確保し、読み上げ用には完成した文章を一度だけ提供してください。
Count-up animation
↻ 約2〜3秒で変化。短い間を入れて自動ループします
数字が、目標の値まで増えていく。
requestAnimationFrame + 数値の補間 [7]
実績数にカウントアップを付けてください。表示検知後、0から提供データの最終値まで1,600msで増加し、終盤は減速させます。桁区切りと固定幅の数字を使い、初回のみ再生してください。最終値を捏造せず、読み上げでは最終値だけを伝えてください。
動きの進行をスクロール位置に結びつけます。16は位置ではなく、スクロールの速さに反応する応用形です。
Scroll-linked animation
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
スクロール量が、そのまま進行度になる。
スクロール位置 → 0〜1の進行度 [2]
記事の上部にスクロール連動の読了バーを付けてください。記事のスクロール可能距離に対する現在位置を0〜1へ正規化し、バーの幅に対応させます。スクロールを止めれば進行も止まり、上へ戻せばバーも戻る仕様にしてください。
Parallax scrolling
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
手前と奥が、違う速さで動く。
キービジュアルに控えめなパララックスを付けてください。対象区間のスクロール進行に対し、奥のレイヤーを上18px、中景を48px、手前を92px移動させ、本文は固定します。端に余白が露出しない素材サイズにし、動きの低減時は静止画にしてください。
Scale on scroll
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
Scroll-scrubbed image sequence
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
連番画像を、スクロールでコマ送りする。
進行度 → フレーム番号 → 画像の切替 [2]
提供する連番画像を画像シーケンスとしてスクロール再生してください。区間の0〜100%をフレーム番号に対応させ、逆スクロールで逆再生します。先読み・画像欠落時の代替表示・容量制限を設計し、低減時は代表フレームを表示してください。
SVG line drawing
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
一本の線が、描かれていく。
図解のSVGパスをスクロールに合わせて描画してください。pathLengthを100に正規化し、stroke-dasharray: 100、stroke-dashoffset: 100から0へ変化させます。上へ戻すと線も戻し、低減時は完成した線を表示してください。
Text fill on scroll
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
Background color transition
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
背景の色が、なめらかに移り変わる。
スクロール進行に合わせた色の補間 [2]
章の進行に合わせて背景色をピーチ、淡いブルー、ミントへ連続的に補間してください。文字色は暗色で統一し、中間色を含めて可読性を確認します。対象セクションだけに適用し、低減時は一色の背景にしてください。
Marquee / Scroll velocity
↕ 再生後、枠内のスクロールで加速 / 停止可
見せる場所・止まる場所・現在地を設計します。厳密にはアニメーションだけでなく、配置やナビの仕組みも含みます。
position: sticky
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
見出しが上端に残り、本文だけが進む。
CSS position: sticky; top: 0 [3]
各章の見出しをposition: sticky; top: 0で上端に残してください。章の本文がスクロールしている間だけ固定し、次の章に入ると見出しが切り替わるよう、章ごとに親要素を分けます。固定見出しで本文やフォーカスを隠さないでください。
Pin + scrub
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
Scrollytelling
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
Stacking cards
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
次のカードが、前のカードに重なる。
カードごとにsticky + 重なり順 [3]
3枚の工程カードをスクロールで積み重なるカードスタックにしてください。各カードをstickyにし、上端の固定位置を12pxずつずらして前のカードの端を残します。読み順と重なり順を一致させ、低減時は重ねず縦に並べてください。
CSS scroll snap
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
スクロールの終点が、区切りにそろう。
scroll-snap-type + scroll-snap-align [4]
短い3枚の紹介パネルにCSS scroll snapを設定してください。専用スクロール枠だけにscroll-snap-type: y mandatory、各パネルにscroll-snap-align: startを指定します。本文が画面高を超える場合はスナップを弱めるか解除し、キーボードでも移動できるようにしてください。
Horizontal scroll
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
Hide-on-scroll header
↕ 自動で下へ・上へ往復。手動スクロールでも比較できます
Scrollspy
↕ 自動で往復します。枠内スクロールや下のつまみでも操作できます
いま読んでいる章が、目次でわかる。
章位置の検知 + aria-current [1]
目次にスクロールスパイを実装してください。現在読んでいる章に対応する目次項目を強調し、色に加えて太字・マーカーとaria-currentで示します。目次から章へ移動できるようにし、最初と最後の章、逆スクロール、画面サイズ変更でも選択が一致するか確認してください。
演出名は出発点。対象・開始条件・方向・時間または連動区間・繰り返し・静止時の表示まで伝えると、意図を具体化できます。
使う場面・役割は設計例であり、CVRや理解度の向上を保証するものではありません。デモの数値は違いを見やすくするための初期値です。実際のページでは、内容・端末・操作に合わせて調整してください。
掲載画像の名称・番号に沿って、HTML・CSS・標準JavaScriptで独自の実演を作成しました。元動画は未提供のため、動画そのものの再現ではありません。CSSだけで成立するものと、表示検知・数値更新・スクロール制御にJavaScriptを使うものを分けて記載しています。
外部ライブラリ・CDN・外部画像・Webフォントの読み込みはありません。参考リンクを押した場合だけ外部ページへ移動します。下記は技術概念の参考であり、用途例の成果を実証する資料ではありません。確認日:2026-10-10。
画面への出入り・章の表示検知
位置に連動する動きと、時間で再生する動きの区別
stickyの固定範囲・親要素・位置指定
スクロールを区切り位置へそろえる仕組み
pin・scrubの区別と実装上の概念(本ページはGSAP不使用)
動きの低減・停止・ユーザー設定への配慮
ブラウザー標準のキーフレーム再生
要素の見える範囲を切り抜く仕組み
線の描画範囲を変える仕組み
設計時の確認軸:目的のある動き、静止表示、情報の可読性、キーボード操作、レスポンシブ表示。参考:投入済み「UX設計・リサーチ・成果物判断OS」「UX監査・採点・詳細判断基準」のMotion / Responsive。アクセシビリティ規格への完全適合を宣言するものではありません。