📝 はじめに
このデモは、ファッションLPでよく使われる、 プリローダーからヒーローへ切り替える導入演出です。
複合ランディング演出記事と重複しないよう、今回は 「中央1ビジュアルの拡張」ではなく、 「画像スタック + タイポ分割 + カウンター進行」を主役にしています。
🎯 今回作るもの
- 主役: SplitTextで分割した文字の上下リビール
- トリガー: 初回表示
- 対象要素: プリローダー画像群、見出し文字、ナビ文字、フッターワード
- 再利用先: ブランドサイトのファーストビュー、ポートフォリオ導入、キャンペーンLP
🧩 コンポーネント設計
- Reactの責務: マークアップ、データ配列、ref管理
- GSAPの責務: 時間制御、stagger、counter更新、退出アニメーション
- CSSの責務: レイヤー構造、初期状態、クリップ形状、レスポンシブ調整
🛠️ 実装のポイント
gsap.context()を使って、対象範囲をコンポーネント配下に限定SplitTextのインスタンスを配列で保持して、アンマウント時にrevert()- カウンターはDOMを直接参照せず、
counterRef経由で更新 - 画像を配列レンダリングにして、静的HTMLから再利用可能なReact構成へ変更
🔁 カスタムしやすいパラメータ
preloaderImgInitRotations: 画像ごとの初期角度stagger値: 文字や画像の連なり速度timelineの開始オフセット: 各セクションの見せ場タイミングclip-path形状: より直線的な開閉、または有機的なマスクへ変更可能
✅ まとめ
このパターンは、見た目のインパクトを保ちながら、 構造は「配列 + SplitText + timeline」に分解できるため、 実務で別ブランドに横展開しやすい導入演出です。