Перейти к основному содержимому

Счётчики CSS

Заголовки, разделы и элементы списка можно нумеровать автоматически с помощью счётчиков CSS, без всяких скриптов.

Считайте счётчик переменной, которую поддерживает CSS и значение которой можно увеличивать или уменьшать с помощью правил.


Автоматическая нумерация CSS со счётчиками

Поскольку счётчики ведут себя как переменные, правила CSS могут изменять их значения.

Вот свойства, которые для этого используются:

  • counter-reset - Создаёт счётчик или сбрасывает его
  • counter-increment - Увеличивает или уменьшает значение счётчика
  • content - Вставляет сгенерированный контент
  • counter() - Помещает значение счётчика в элемент

Счётчик не существует, пока его не создаст counter-reset, поэтому этот шаг всегда идёт первым.


Увеличение и уменьшение счётчика CSS

В этом примере селектор body создаёт счётчик для всей страницы, а затем каждый элемент <h2> увеличивает его значение на 1.

Пример

Prompt
Создайте страницу, использующую счётчики CSS для автоматической нумерации заголовков h2. Используйте counter-reset на body, чтобы создать счётчик с именем "section", затем используйте counter-increment и content на h2::before, чтобы отображать "Section X: " перед каждым заголовком. Включите три элемента h2 с небольшим текстом абзаца.
Результат: полная HTML-страница

Уменьшение счётчика

Второй параметр counter-increment задаёт шаг, который по умолчанию равен 1. Если указать -1, значение счётчика уменьшается.

Пример

Prompt
Создайте страницу, использующую счётчики CSS с уменьшающимся значением. Используйте counter-reset на body, чтобы создать счётчик с именем "section", затем используйте counter-increment со значением -1 на h2::before, чтобы уменьшать счётчик. Отображайте "Section X: " перед каждым заголовком с помощью свойства content. Включите три элемента h2 с текстом абзаца.
Результат: полная HTML-страница

Увеличение на пользовательские значения

В качестве шага подходит любое значение. В примере ниже счётчик увеличивается на 2.

Пример

Prompt
Создайте страницу, использующую счётчики CSS с шагом увеличения 2. Используйте counter-reset на body, чтобы создать счётчик с именем "section", затем используйте counter-increment со значением 2 на h2::before, чтобы увеличивать счётчик на 2 каждый раз. Отображайте "Section X: " перед каждым заголовком с помощью свойства content. Включите три элемента h2 с текстом абзаца.
Результат: полная HTML-страница