004_parallax

背景レイヤーと前景コンテンツにスクロール速度の差を つけることで、奥行き(視差)を感じさせる実装です。このデモでは 3 種類のパターンを並べています —— (1) CSS の図形だけで作る視差(2) 1 枚の画像を背景に動かす視差(3) 複数レイヤーを別々の速度で動かす多層視差です。 対応ブラウザでは animation-timeline: view() によって、 各レイヤーがビューポートを通過する進捗に連動して動きます (JS なし・CSS だけ)。この機能に未対応のブラウザ では、scroll イベントと requestAnimationFrame を使った軽量な JS が同じ translateY を計算してレイヤーを動かします (フォールバック)。OS の「視差効果を減らす」設定が有効な場合は、 視差を完全に無効化して通常の表示にします。下方向にスクロールして 奥行きを確認してください。

パターン 1: 図形だけの視差

画像を一切使わず、CSS のグラデーションと半透明の円 だけで作った視差です。背景の図形が前景の見出しよりゆっくり動くこと で「奥」にあるように感じられます。素材がなくても視差は作れます。

パターン 2: 画像背景の視差

1 枚の画像を背景に敷き、それを丸ごと視差で ゆっくり動かすパターンです。前景のテキストは通常の速度で流れる ため、画像との間に視差が生まれます。

パターン 3: 多層の視差

複数のレイヤーを違う速度で動かして奥行きを出す パターンです。遠景の画像はゆっくり、手前の図形は速く動きます。 「遠いものほどゆっくり動く」ことで段階的な立体感が生まれます。

ここがページの終端です。図形だけの視差・画像背景の視差・多層の視差の 3 パターンで、背景が前景より遅れて動いていたことを確認できたでしょうか。 特に多層パターンでは、遠景の画像と手前の図形が別々の速度で動いて いました。十分なスクロール量を確保するため、各セクションは縦に長く 取っています。