円形プログレス(数字付き)

UI コンポーネント Medium #css #progress #circle #circular

これは中央にパーセント数値を表示する円形プログレスです。SVG の円を2枚重ね、背景の薄い円の上に進捗を示す色付きの円を描きます。進捗量は --p というCSS変数で渡し、 pathLength="100" と stroke-dasharray ・ stroke-dashoffset を組み合わせて、0〜100の数…

▶ プレビュー

解説

これは中央にパーセント数値を表示する円形プログレスです。SVG の円を2枚重ね、背景の薄い円の上に進捗を示す色付きの円を描きます。進捗量は --p というCSS変数で渡し、pathLength="100"stroke-dasharraystroke-dashoffset を組み合わせて、0〜100の数値で塗り進む量を表現します。transition が効いているので、値が変わるとなめらかにアニメーションします。CSSとSVGのみで、外部ライブラリは不要です。

こんな表示に使えます

  • ファイルアップロードやダウンロードの進捗
  • タスクやプロフィール入力の完了率
  • テストやアンケートのスコア・達成度の可視化

進捗を変えるには、要素の --p の値と中央テキストを書き換えるだけです。色は .cp__fgstroke、線の太さは stroke-width で調整します。stroke-linecap:round で先端が丸くなり、やわらかい印象になります。数値だけでなく role="progressbar"aria-valuenow を付けると、進捗状況がスクリーンリーダーにも正しく伝わります。

使用例・適したシーン

  • データ取得中の表示
  • 送信ボタンクリック後のフィードバック
  • 画像読み込み待ち

よくある質問

進捗のパーセントを変えるにはどうしますか?
要素の style にある --p の数値(例では72)と、中央に表示している 72% のテキストを書き換えるだけです。--p は 0 から 100 の範囲で指定します。
円の色や太さは変えられますか?
はい。進捗の色は .cp__fg の stroke、背景円の色は .cp__bg の stroke で指定しています。線の太さは両方の stroke-width を同じ値に変えると整います。
追加日:2026-05-12
← すべてのスニペットへ戻る