跳转到主内容

仅限 CSS Tailwind CSS 径向进度 — 带百分比显示的圆形进度环。颜色和尺寸变体,无需 JavaScript。 WCAG AA 可访问,可与 Django、HTMX、Laravel、React 和任何堆栈配合使用。

Radial progress components display completion percentage in a circular format, offering an elegant alternative to linear progress bars. Built with SVG-based visualization and CSS animations, radial progress adds visual interest to dashboards and status indicators. The Frutjam radial progress system supports multiple sizes and colors—ideal for metrics, completion tracking, and data visualization.

CSS-only, no JavaScript required. WCAG AA accessible and framework-agnostic — works with Django, HTMX, Laravel, React, and any stack.

Class Type Description
radial-progressBaseCircular progress indicator driven by --radial-progress--value
radial-progress-xsSizeExtra small
radial-progress-smSizeSmall
radial-progress-mdSizeMedium (default)
radial-progress-lgSizeLarge
radial-progress-xlSizeExtra large
radial-progress-baseColorMuted base surface color
radial-progress-currentColorExplicitly inherits the current text color
radial-progress-primaryColorPrimary theme color
radial-progress-secondaryColorSecondary theme color
radial-progress-accentColorAccent theme color
radial-progress-neutralColorNeutral theme color
radial-progress-infoColorInfo semantic color
radial-progress-successColorSuccess semantic color
radial-progress-warningColorWarning semantic color
radial-progress-errorColorError semantic color

Basic Usage

70%
<div class="radial-progress" style="--radial-progress--value:70">70%</div>
1
2
3
4
function RadialProgress() {
  const progress = {"--radial-progress--value": 70}
  return <div className="radial-progress" style={progress}>70%</div>
}

Radial Progress Sizes

70%
70%
70%
70%
70%
html
1
2
3
4
5
<div class="radial-progress radial-progress-xs" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-sm" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-md" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-lg" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-xl" style="--radial-progress--value:70">70%</div>

Radial Progress Colors

70%
70%
70%
70%
70%
70%
70%
70%
70%
html
1
2
3
4
5
6
7
8
9
<div class="radial-progress radial-progress-base" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-primary" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-secondary" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-accent" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-neutral" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-info" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-success" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-warning" style="--radial-progress--value:70">70%</div>
<div class="radial-progress radial-progress-error" style="--radial-progress--value:70">70%</div>

Radial Progress with Label

85%

Tasks Completed

html
1
2
3
4
5
6
<div class="flex flex-col items-center gap-4">
  <div class="text-center">
    <div class="radial-progress radial-progress-xl radial-progress-primary" style="--radial-progress--value:85">85%</div>
    <p class="text-sm mt-2">Tasks Completed</p>
  </div>
</div>