About this set
Round progress indicators built two ways. Conic-gradient rings are three 92 pixel rings for storage, sprint tasks and ad budget: a conic-gradient paints the value, a radial-gradient mask cuts the hole, and the percentage sits in the middle, so each ring is one element and one custom property. SVG ring with round caps is a larger course ring made from two circles; the value circle has pathLength=”100″, which lets stroke-dasharray take the percentage as it is, and stroke-linecap: round gives the arc soft ends that a conic-gradient cannot. Half gauge clips a full conic circle to its top half for a fundraiser at 64 percent, with the amount inside and the scale ends below. Small donuts in a list are 26 pixel rings beside task names, for project lists and tables where a bar would take too much room. Use conic rings for the lightest markup and the SVG ring when you want round caps or a stroke transition. Every ring is a role=”progressbar” element with the value in –v, and the numbers in the middle are hidden from screen readers because the ring already exposes them.
What’s included
- Conic-gradient rings with a radial mask
- SVG ring with round caps using pathLength="100"
- Half gauge from a clipped conic circle
- Small donuts for lists and tables
- One --v custom property per ring, no JavaScript
- Same rings in plain CSS, Bootstrap and Tailwind
Accessibility
Every ring, gauge and donut is a role="progressbar" element with aria-valuenow, aria-valuemin and aria-valuemax, named by the visible caption through aria-labelledby, with aria-valuetext where the number needs context, such as 7 of 10 lessons. The text inside the rings is aria-hidden so it is not read twice. Ring colours are at least 3:1 against the white card, and the SVG ring's stroke transition is switched off under prefers-reduced-motion.
Customise it
Change --c for the colour, --size and --thick on .cp-ring, and --cp-track on .cp, in the plain CSS and Bootstrap versions; the SVG ring takes stroke-width on its circles. In Tailwind edit the cp- theme colours and the percentage in each conic-gradient class.






