@counter-style
Quick Summary for @counter-style
The @counter-style CSS at-rule lets you define counter styles that are not part of the predefined set of styles. A @counter-style rule defines how to convert a counter value into a string representation.
Code Usage for @counter-style
@counter-style thumbs {   system: cyclic;   symbols: "\1F44D";   suffix: " "; }  ul {   list-style: thumbs; } 
More Details for @counter-style

@counter-style

The @counter-style CSS at-rule lets you define counter styles that are not part of the predefined set of styles. A @counter-style rule defines how to convert a counter value into a string representation.

@counter-style thumbs {   system: cyclic;   symbols: "\1F44D";   suffix: " "; }  ul {   list-style: thumbs; } 

The initial version of CSS defined a set of useful counter styles. However, although more styles were added to this set of predefined styles over the years, this system proved too restrictive to fulfill the needs of worldwide typography. The @counter-style at-rule addresses this shortcoming in an open-ended manner, by allowing authors to define their own counter styles when the pre-defined styles aren't fitting their needs.

Syntax

Descriptors

Each @counter-style is identified by a name and has a set of descriptors.

system

Specifies the algorithm to be used for converting the integer value of a counter to a string representation.

negative

Lets the author specify symbols to be appended or prepended to the counter representation if the value is negative.

prefix

Specifies a symbol that should be prepended to the marker representation. Prefixes are added to the representation in the final stage, so in the final representation of the counter, it comes before the negative sign.

suffix

Specifies, similar to the prefix descriptor, a symbol that is appended to the marker representation. Suffixes come after the marker representation.

range

Defines the range of values over which the counter style is applicable. If a counter style is used to represent a counter value outside of its ranges, the counter style will drop back to its fallback style.

pad

Is used when you need the marker representations to be of a minimum length. For example if you want the counters to start at 01 and go through 02, 03, 04 etc, then the pad descriptor is to be used. For representations larger than the specified pad value, the marker is constructed as normal.

fallback

Specifies a system to fall back into if either the specified system is unable to construct the representation of a counter value or if the counter value is outside the specified range. If the specified fallback also fails to represent the value, then the fallback style's fallback is used, if one is specified. If there are either no fallback systems described or if the chain of fallback systems are unable to represent a counter value, then it will ultimately fall back to the decimal style.

symbols

Specifies the symbols that are to be used for the marker representations. Symbols can contain strings, images, or custom identifiers. How the symbols are used to construct the marker representation is up to the algorithm specified in the system descriptor. For example, if the system specified is fixed, then each of the N symbols specified in the descriptor will be used to represent the first N counter symbols. Once the specified set of symbols have exhausted, the fallback style will be used for the rest of the list.

The below @counter-style rule uses images instead of character symbols. Image values for symbols is currently an 'at risk' feature, and is not implemented in any browser.

@counter-style winners-list {   system: fixed;   symbols: url(gold-medal.svg) url(silver-medal.svg) url(bronze-medal.svg);   suffix: " "; } 
additive-symbols

While the symbols specified in the symbols descriptor is used for constructing marker representation by most algorithms, some systems such as 'additive' rely on additive tuples described in this descriptor. Each additive tuple consists of a counter symbol and a non-negative integer weight. The additive tuples must be specified in the descending order of their weights.

speak-as

Describes how to read out the counter style in speech synthesizers, such as screen readers. For example, the value of the marker symbol can be read out as numbers or alphabets for ordered lists or as audio cues for unordered lists, based on the value of this descriptor.

Formal syntax

@counter-style <counter-style-name> {   [ system: <counter-system>; ] ||   [ symbols: <counter-symbols>; ] ||   [ additive-symbols: <additive-symbols>; ] ||   [ negative: <negative-symbol>; ] ||   [ prefix: <prefix>; ] ||   [ suffix: <suffix>; ] ||   [ range: <range>; ] ||   [ pad: <padding>; ] ||   [ speak-as: <speak-as>; ] ||   [ fallback: <counter-style-name>; ] }

where <counter-style-name> = <custom-ident>

Examples

Specifying symbols with counter-style

@counter-style circled-alpha {   system: fixed;   symbols: Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ;   suffix: " "; } 

The above counter style rule can be applied to lists like this:

.items {   list-style: circled-alpha; } 

Which will produce lists like this:

Ⓐ One Ⓑ Two Ⓒ Three Ⓓ Four Ⓔ FIve ... ... Ⓨ Twenty Five Ⓩ Twenty Six 27 Twenty Seven 28 Twenty Eight 29 Twenty Nine 30 Thirty

See more examples on the demo page.

Ready-made counter styles

Find a collection of over 100 counter-style code snippets in the Ready-made Counter Styles document. This document provides counter styles that meet the needs of languages and cultures around the world.

The Counter styles converter pulls from this list to test and create copy and paste code for counter styles.

Specifications

Specification
CSS Counter Styles Level 3 # the-counter-style-rule

See also

list-style, list-style-image, list-style-position, list-style-type symbols(), the functional notation creating anonymous counter styles. CSS counter() and counters() functions Counter style demo (code)

Last modified: Sep 26, 2021, by MDN contributors

Select your preferred language English (US)EspañolFrançais日本語Русский中文 (简体) Change language

No Items Found.

Add Comment
Type in a Nick Name here
 
Other Categories in CSS
css
Search CSS
Search CSS by entering your search text above.
Welcome

This is my test area for webdev. I keep a collection of code here, mostly for my reference. Also if i find a good link, i usually add it here and then forget about it. more...

You could also follow me on twitter. I have a couple of youtube channels if you want to see some video related content. RuneScape 3, Minecraft and also a coding channel here Web Dev.

If you found something useful or like my work, you can buy me a coffee here. Mmm Coffee. ☕

❤️👩‍💻🎮

🪦 2000 - 16 Oct 2022 - Boots
Random Quote
In this case my anchor this week becomes driving almost 2hrs outside of Atlanta to one of my favorite hard core gyms in the world.. MetroFlex aka The Dungeon. The gym owners turn the heat way up so it becomes a fun sweat box and the gym members just watch from afar and leave me alone. I happily drive myself long distances to find MY ANCHOR. Our anchor allows us to have balance, focus and be as productive as possible. And if you're in the middle of a heavy set and your headphones start to fall off your head, like mine did here.. well.. f*ck the headphones. Let em break and fall. You can always get a new pair, but the iron ain't ever gonna lift itself.
Unknown
Random CSS Property

text-decoration

The text-decoration shorthand CSS property sets the appearance of decorative lines on text. It is a shorthand for text-decoration-line, text-decoration-color, text-decoration-style, and the newer text-decoration-thickness property.
text-decoration css reference