Spec-Zone.ru › CSS

`counter-set` CSS property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It's been available across browsers since December 2023.

The counter-set CSS property sets CSS counters on the element to the given values.

If the counters don't exist the counter-set property creates a new counter for each named counter in the list of space-separated counter and value pairs. However, to create a new counter it is recommended to use the counter-reset CSS property.

If a named counter in the list is missing a value, the value of the counter will be set to 0.

Note: The counter's value can be incremented or decremented using the counter-increment CSS property.

Try it

counter-set: none;
counter-set: chapter-count 0;
counter-set: chapter-count;
counter-set: chapter-count 5;
counter-set: chapter-count -5;
<section class="default-example" id="default-example">
  <div class="transition-all" id="chapters">
    <h1>Alice's Adventures in Wonderland</h1>
    <h2>Down the Rabbit-Hole</h2>
    <h2 id="example-element">The Pool of Tears</h2>
    <h2>A Caucus-Race and a Long Tale</h2>
    <h2>The Rabbit Sends in a Little Bill</h2>
  </div>
</section>
#default-example {
  text-align: left;
  counter-set: chapter-count;
}

#example-element {
  background-color: #37077c;
  color: white;
}

h2 {
  counter-increment: chapter-count;
  font-size: 1em;
}

h2::before {
  content: "Chapter " counter(chapter-count) ": ";
}

Syntax

/* Set "my-counter" to 0 */
counter-set: my-counter;

/* Set "my-counter" to -1 */
counter-set: my-counter -1;

/* Set "counter1" to 1, and "counter2" to 4 */
counter-set: counter1 1 counter2 4;

/* Cancel any counter that could have been set in less specific rules */
counter-set: none;

/* Global values */
counter-set: inherit;
counter-set: initial;
counter-set: revert;
counter-set: revert-layer;
counter-set: unset;

Values

This property is specified as either a space-separated list of <custom-ident> values, each optionally followed by an <integer>, or the keyword none:

<custom-ident>
The name of the counter to set.
<integer>
The value to set the counter to on each occurrence of the element. Defaults to 0 if not specified. If there isn't currently a counter of the given name on the element, the element will create a new counter of the given name with a starting value of 0 (though it may then immediately set or increment that value to something different).
none
No counter set is to be performed. This can be used to override a counter-set defined in a less specific rule.

Formal definition

Initial value none
Applies to all elements
Inherited no
Computed value as specified
Animation type by computed value type

Formal syntax

counter-set = 
  [ <counter-name> <integer>? ]+ |
  none

<counter-name> = 
  <custom-ident>

<integer> = 
  <number-token>

Examples

Setting named counters

h1 {
  counter-set: chapter section 1 page;
  /* Sets the chapter and page counters to 0,
     and the section counter to 1 */
}

Specifications

Specification
CSS Lists and Counters Module Level 3
# propdef-counter-set

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS
counter-set
85
85
68
71
17.2
85
68
60
17.2
14.0
85
17.2
list-item
85
85
68
71
17.2
85
68
60
17.2
14.0
85
17.2
none
85
85
68
71
17.2
85
68
60
17.2
14.0
85
17.2

See also

  • Using CSS Counters
  • counter-increment
  • counter-reset
  • @counter-style
  • counter() and counters() functions
  • content property
  • CSS lists and counters module
  • CSS counter styles module

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/counter-set

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API