CSS Счётчики
Пицца
Гамбургер
Хотдоги
CSS счётчики - это "переменные", поддерживаемые CSS, значения которых можно увеличивать с помощью правил CSS (чтобы отслеживать, сколько раз они используются). Счетчики позволяют настраивать внешний вид контента в зависимости от его размещения в документе.
Автоматическая нумерация с помощью счётчиков
CSS счётчики похожи на "переменные". Значения переменных могут быть увеличены с помощью правил CSS (которые будут отслеживать, сколько раз они используются).
Для работы со счетчиками CSS мы будем использовать следующие свойства:
counter-reset
- создает или сбрасывает счетчикcounter-increment
- увеличивает значение счетчикаcontent
- вставляет сгенерированный контентcounter()
илиcounters()
функция - добавляет значение счетчика к элементу
Чтобы использовать счетчик CSS, его необходимо сначала создать с помощью counter-reset
.
В следующем примере создается счетчик для страницы (в селекторе body), затем увеличивается значение счетчика для каждого элемента <h2>
и добавляется "Section <значение счётчика>:" в начало каждого элемента <h2>
:
Пример
body {
counter-reset: section;
}
h2::before {
counter-increment: section;
content: "Section " counter(section) ": ";
}
Попробуйте сами »
Вложенные счётчики
В следующем примере создается один счетчик для страницы (section) и один счетчик для каждого элемента <h1> (subsection). Счётчик "section" будет подсчитываться для каждого элемента <h1>
с помощью "Section <значения счётчика section>.", а счётчик "subsection" будет подсчитываться для каждого элемента <h2>
с помощью "<значения счётчика section>.<значение счётчика subsection>":
Пример
body {
counter-reset: section;
}
h1 {
counter-reset: subsection;
}
h1::before {
counter-increment:
section;
content: "Section " counter(section) ". ";
}
h2::before {
counter-increment: subsection;
content:
counter(section) "." counter(subsection) " ";
}
Попробуйте сами »
Счетчик также может быть полезен для составления списков, поскольку в дочерних элементах автоматически создается новый экземпляр счетчика. Здесь мы используем функцию counters()
для вставки строки между различными уровнями вложенных счетчиков:
Пример
ol {
counter-reset: section;
list-style-type: none;
}
li::before {
counter-increment: section;
content: counters(section,".") " ";
}
Попробуйте сами »
Свойства CSS счётчика
Свойство | Описание |
---|---|
content | Используется с псевдоэлементами ::before и ::after для вставки сгенерированного контента |
counter-increment | Увеличивает одно или несколько значений счетчика |
counter-reset | Создает или сбрасывает один или несколько счетчиков |