Limited support 注意が必要。一部のブラウザのみ対応。プロダクション利用は慎重に判断すること。

概要

progress()関数は、ある値が2つの基準値の間でどの位置にあるかを0から1の範囲の比率として計算します。値が範囲外の場合は0または1にクランプされます。他のCSS計算関数と組み合わせることで、値の補間や動的なスタイル計算に活用できます。データビジュアライゼーションや段階的なスタイル変化の実装に有用です。

対応ブラウザ

デスクトップ

Chrome 138+
Edge 138+
Safari 26+
Firefox 未対応

モバイル

Chrome Android 138+
Safari iOS 26+
Firefox Android 未対応

基本構文

CSS
.bar {
  --value: 75;
  width: calc(progress(var(--value), 0, 100) * 100%);
}

実務での使いどころ

  • 値の正規化によるスタイル計算

    任意の範囲の値を0〜1に正規化し、幅や色の補間など動的なスタイル計算に利用します。

注意点

  • Firefoxでは未サポートのため、フォールバックとしてcalc()による手動計算を用意してください。

アクセシビリティ

  • progress()で動的に変化するスタイルが、prefers-reduced-motionの設定を尊重するよう配慮してください。