DESIGN STUDY · ANIMATION
Layers drift,
Layers drift,
scroll bends them.
Depth emerges.
複数 SVG レイヤーの波が、スクロール「速度」に反応して跳ね上がる。そっと巻けば動かず、速く弾くとクレストが上端のキッカー付近まで届き、止めればふわっと下へ戻る。前景ほど大きく反応する。独立した横ドリフトも併走し、止まっていても海面のような微動を保つ。
SCROLL
↓
↑ FLICK FAST TO LAUNCH THE WAVES
速さに反応するアニメーション。
スクロール「速度」(px/frame) を speed 倍して各レイヤーに translateY を与える、それ以上のものは含まれない。
deadzone 以下のそっとした操作では動かず、速く弾いた量に比例して跳ね上がり、止めれば rest へ戻る。
反応の差だけで「奥行き」が立ち上がるのは、人間が視差を距離として読むため。
この最短経路を、外部依存ゼロで再現するのが本セルの目的。
使い方
— USAGE
01
3 ファイルをコピー
本ディレクトリの index.html / style.css / script.js を移植先にコピー。CSS と JS は外部依存ゼロ。
02
レイヤーを宣言
<div class="wp-layer" data-wave-speed="..." data-wave-amp="..." data-wave-color="..." ...> の data 属性で各レイヤーの挙動を制御。JS が SVG パスを生成する。
03
レイヤーの順序
マークアップで上に書いたレイヤーが背面、下に書いたものが前面。背面ほど speed を小さく、前面ほど大きくすると自然な視差になる。
レイヤーごとの data 属性
data-wave-speedスクロールへの追従倍率(0=固定、1=スクロール等速)0.15〜0.88data-wave-amp波の振幅(px、viewBox 320 基準)18〜50data-wave-base波の中心線 Y 座標(viewBox 上)180〜275data-wave-segments波の山の数(多いほど密な波)3〜11data-wave-colorレイヤーの塗り色#b9c8e8 ほかdata-wave-drift横ドリフト一周の時間(秒)14〜42カスタマイズ可能な CSS 変数
--wp-heightヒーローセクションの高さ100vh--wp-bg背景色(最背景レイヤーより奥)#f4f3ee--wp-content-wテキスト最大幅1100px