counter-increment

The counter-increment CSS property increases or decreases the value of a CSS counter by a given value.

Try it

Note: The counter's value can be reset to an arbitrary number using the counter-reset CSS property.

Syntax

css

/* Increment "my-counter" by 1 */
counter-increment: my-counter;

/* Decrement "my-counter" by 1 */
counter-increment: my-counter -1;

/* Increment "counter1" by 1, and decrement "counter2" by 4 */
counter-increment: counter1 counter2 -4;

/* Do not increment/decrement anything: used to override less specific rules */
counter-increment: none;

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

The counter-increment property is specified as either one of the following:

  • A <custom-ident> naming the counter, followed optionally by an <integer>. You may specify as many counters to increment as you want, with each name or name-number pair separated by a space.
  • The keyword value none.

Values

<custom-ident>

The name of the counter to increment.

<integer>

The value to add to the counter. Defaults to 1 if not specified.

none

No counter must be incremented. This is used as the default value, or to cancel an increment in more specific rules.

Formal definition

Initial valuenone
Applies toall elements
Inheritedno
Computed valueas specified
Animation typeby computed value type

Formal syntax

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

Examples

Incrementing named counters

css

h1 {
  counter-increment: chapter section 2 page;
  /* Increases the value of the chapter and page counters by 1,
     and the section counter by 2 */
}

Specifications

Specification
CSS Lists and Counters Module Level 3
# increment-set

Browser compatibility

BCD tables only load in the browser

See also