Widely available 全主要ブラウザで対応済み。安心して使用できる。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
36
79
36
9.1
36
9.3
auto
36
79
36
9.1
36
9.3
contents
36
79
36
9.1
36
9.3
scroll-position
36
79
36
9.1
36
9.3
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

CSS
/* Optimize hover animations */
.card:hover {
  will-change: transform;
}

.card:active {
  transform: scale(0.98);
}

/* Apply and remove dynamically via JS */
.animating {
  will-change: transform, opacity;
}

ライブデモ

Transform Optimization

will-change Transform optimization demo.

プレビュー全画面表示

Opacity Optimization

will-change Opacity optimization demo.

プレビュー全画面表示

Auto(default)

will-change Auto(default) demo.

プレビュー全画面表示

実務での使いどころ

  • スクロール連動アニメーション

    スクロールに連動して要素を動かすアニメーションのカクつきを軽減する。

注意点

  • will-change を常時指定するとメモリを余分に消費する。必要な時だけ付与し、アニメーション完了後に解除する。
  • 過度に使用するとパフォーマンスが逆に悪化する。本当に必要な要素にのみ使用する。

アクセシビリティ

  • パフォーマンス最適化により、低スペックデバイスでもスムーズなアニメーションを提供できる。