counter-set
The counter-set CSS property creates (and optionally sets a value for) a counter, the numbers for a series of headings or ordered list items.
Overview
The counter-set CSS property creates (and optionally sets a value for) a counter, the numbers for a series of headings or ordered list items.
Browser support
| Feature | Desktop | Mobile | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 85 | 85 | 68 | 17.2 | 85 | 17.2 | |
list-item | 85 | 85 | 68 | 17.2 | 85 | 17.2 |
none | 85 | 85 | 68 | 17.2 | 85 | 17.2 |
1+Supported (version) Not supported ※Has note Sub-feature descriptions sourced from MDN Web Docs (CC BY-SA 2.5)
Syntax
CSS
.restart-at-10 {
counter-set: section 10;
}
.restart-at-10 ~ section::before {
content: counter(section) '. ';
counter-increment: section;
} Live demo
Use cases
Reading rhythm
Use counter-set to improve how text wraps, aligns, or scales in dense layouts and editorial UI.
Language-aware text
Adjust typography when script direction, spacing, or writing rules differ across languages.
Cautions
- Test with real content rather than short placeholder strings because typographic behavior changes with length and language.
- Prefer the smallest rule that solves the layout problem so text remains easy to maintain.
Accessibility
- Typography choices should preserve readability at high zoom and on narrow screens.
- Avoid stylistic settings that reduce comprehension or make scanning harder.
Related links
Powered by web-features