Widely available YES。主要ブラウザで広く対応済み。本番利用を推奨。

概要

steps() 関数はアニメーションを離散的なフレームに分割し、滑らかな補間ではなく段階的な変化を実現します。スプライトシートアニメーションやタイプライター効果などに最適です。step-start と step-end は1ステップのプリセット値として利用できます。

対応ブラウザ

デスクトップ

Chrome 77+
Edge 79+
Safari 14+
Firefox 65+

モバイル

Chrome Android 77+
Safari iOS 14+
Firefox Android 65+

基本構文

CSS
.sprite {
  animation: walk 1s steps(8) infinite;
}
.typewriter {
  animation: reveal 2s steps(20, end);
}

実務での使いどころ

  • スプライトアニメーション

    スプライトシートの各フレームを段階的に表示し、パラパラ漫画のようなアニメーションを作成します。

注意点

  • ステップ数が少なすぎるとカクカクした動きになり、多すぎると滑らかなアニメーションと区別がつかなくなります。

アクセシビリティ

  • prefers-reduced-motion メディアクエリを使用して、段階的なアニメーションも含めて動きを抑制することを検討してください。