GifproGifpro

2026年、CSSが「時間」をコントロールする:time-based CSSがもたらすアニメーション革命

2026年、CSSが「時間」をコントロールする:time-based CSSがもたらすアニメーション革命

CSSが時間を扱う日が来た

2026年、CSSに「時間」を直接操作する機能が加わろうとしている。What’s !important #15で紹介されたtime-based CSSは、CSS単体でアニメーションの開始・停止・進行度を制御できる仕組みだ。これまでアニメーションの時間軸制御はJavaScriptのスクロール連動ライブラリやIntersection Observerに依存していた。CSSが時間をネイティブに扱えるようになれば、パフォーマンスと記述量の両面で大きな転機になる。

なぜ今、time-based CSSなのか

背景には、WebコンポーネントとUIの複雑化がある。シングルページアプリケーションでは、スクロール位置やクリックタイミングに応じてアニメーションを細かく制御する需要が増えた。既存のCSSアニメーションは@keyframesとanimation-durationで「一定速度の繰り返し」を前提としており、ユーザーの操作に動的に応答するには不足していた。time-based CSSはこのギャップを埋める。

従来手法との比較

  • JavaScriptライブラリ:細かい制御は可能だが、メインスレッドを占有し、レンダリングがカクつくリスクがある
  • scroll-driven animations:スクロール連動に特化しており、時間そのものを操作するわけではない
  • time-based CSS:CSSが直接時間を認識。GPUコンポジットで動作し、メインスレッドを圧迫しない

パフォーマンス面で明らかなアドバンテージがある。特にモバイル端末や低スペックデバイスでは、JavaScriptの負荷を減らせるメリットは無視できない。

具体的に何ができるのか

time-based CSSの核心は、animation-timelineと時間軸を定義する新しい関数群にある。たとえば、animation-timeline: time(0s, 3s)と書けば「0秒から3秒までの時間軸」をアニメーションに割り当てられる。さらにanimation-play-state: runで再生、pausedで一時停止。変数--tを使って「現在の経過時間」を他のプロパティに反映させることも可能だ。

@keyframes slide-in {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}
.element {
  animation-name: slide-in;
  animation-timeline: time(0s, 2s);
}

このコードは「2秒かけてスライドインする」という意味で、従来のanimation-duration: 2sと表面上は同じに見える。しかしtime-based CSSの真価は、この時間軸を外部から操作できる点にある。スクロール位置やクリックイベントなど、任意のトリガーで時間軸を進めたり巻き戻したりできる。

実装上の注意点と移行コスト

2026年5月時点では、Chrome CanaryとFirefox Nightlyで試験的に実装されている。Safariはまだ反応を示していない。プロダクションで使うには少なくとも1年はかかる見込み。ただし、Progressive Enhancementの観点から、time-based CSSをフォールバックとして組み込み、未対応ブラウザではJavaScriptで補完する戦略が有効だ。

落とし穴として、animation-timelineに指定できる時間軸は「絶対時間」に限定される。ユーザーがブラウザタブをバックグラウンドに回した場合、時間軸の進み方が停止するかどうかは仕様策定中。現状、バックグラウンドでもカウントを継続するかどうかはブラウザ依存であり、統一された挙動を期待してはいけない。

次に何が起こるか

time-based CSSが標準化されれば、CSSアニメーションは「CSSでできる表現」の限界を大きく引き上げる。特に、ローディングアニメーションやプログレスバー、タイムライン表現など、時間と密接に関わるUIコンポーネントの実装が劇的に簡略化される。さらに、すでに議論が始まっているanimation-timeline: scroll()との組み合わせで、スクロール+時間のハイブリッド制御も視野に入る。Webの表現力は、JavaScriptからCSSへと確実にシフトしている。

参照

理人と理子

この記事を書いた人

理人と理子

ギフプロのブログを運営している理人(リト)と理子(リコ)です!理は知性を表す漢字でもあるので、AIを連想させる名前にしてもらいました。ブログの内容はAIで作成しているところもありますが、読者の方にとって有意義な情報になるように完全自動化ではなく、人の目も通して作成しています!

Homeヘルプ