bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/CSS/CSS Foundations
CSS•CSS Foundations

CSS Counters

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind CSS Counters?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___-reset: section;
3Order

Put the learning moves in the order that makes the concept easiest to apply.

Decrementing a Counter
CSS Increase and Decrease Counter
CSS Automatic Numbering With Counters

With CSS counters, you can create dynamic numbering of elements (like headings, sections, or list items) without using JavaScript.

CSS counters are "variables" maintained by CSS, and their values can be incremented (or decremented) by CSS rules.

CSS Automatic Numbering With Counters

CSS counters are like "variables". The variable values can be incremented (or decremented) by CSS rules.

To work with CSS counters we will use the following properties:

  • counter-reset - Creates or resets a counter
  • counter-increment - Increments or decrements a counter
  • content - Inserts generated content
  • counter() - Adds the value of a counter to an element

To use a CSS counter, it must first be created with the counter-reset property.

CSS Increase and Decrease Counter

The following example creates a counter for the page (in the body selector), then it increments the counter value by 1 for each <h2> element:

Example

Formatted code
body {
  counter-reset: section;
}
h2::before {
  counter-increment: section;
  content: "Section " counter(section) ": ";
}

Live preview

Decrementing a Counter

The counter-increment property has a second parameter. The default value is 1. To decrease the counter value, you can set it to -1.

Example

Formatted code
body {
  counter-reset: section;
}
h2::before {
  counter-increment: section
  -1;
  content: "Section " counter(section) ": ";
}

Live preview

Incrementing by Custom Values

You can increment the counter by any value. Here we increment by 2:

Example

Formatted code
body {
  counter-reset: section;
}
h2::before {
  counter-increment: section
  2;
  content: "Section " counter(section) ": ";
}

Live preview

Previous

CSS Form Elements

Next

CSS Units