スクロール連動アニメーションをCSSだけで作る(パララックス・セクションの演出)
JSライブラリを使わずに、scroll-driven animations でパララックスやセクションの出現アニメーションを作る。対応していないブラウザでは動かないだけ、という段階的強化にする。
どんな問題を解決するか / いつ使うか
LPのセクションに動きを付けたいが、JSのスクロールライブラリを入れたくないとき。
やり方
- 段階的強化にする:
css
@supports (animation-timeline: view()) {
.col { animation: drift linear both; animation-timeline: view(); }
}
@keyframes drift { from { translate: 0 calc(var(--speed) * 1px); } to { translate: 0 calc(var(--speed) * -1px); } }- パララックスは同じ @keyframes を複数の列で使い回し、カスタムプロパティと
calc()で速さだけ変えるとレスポンシブでも崩れにくい(@jh3yy の例)。 - セクションのアニメーションもCSSだけで作れる(@tak_dcxi の作例)。
- 「スクロールで発火して最後まで再生する」タイプ(スクロールトリガー)は、新しいCSS仕様として検討・実装が進んでいる(@azukiazusa9 の記事)。対応状況を確認してから使う。
- AIに頼むときはスクロールアニメーションは「10の用語」で指示するで指示する。
注意点・対応状況
- CSSは手法の説明用に補った例。
- 情報を探すためのサイトでは、むやみにアニメーションさせない方がよいという調査もある(@sogitani_baigie)。
prefers-reduced-motionで止められるようにする。
出典
- 投稿者: @jh3yy (jhey ʕ•ᴥ•ʔ) / 関連:@tak_dcxi、@azukiazusa9、@sogitani_baigie
- 投稿: @jh3yy · 2026-06-16 / @tak_dcxi · 2026-03-20 / @azukiazusa9 · 2026-03-12 / @sogitani_baigie · 2026-06-18
- 投稿日: 2026-06-16 / 2026-03-20 / 2026-03-12 / 2026-06-18(JST)
- 収集日: 2026-10-09(JST)