Свойство counter-set
CSS, соответствующее своему имени, устанавливает начальное значение для счетчика CSS. Вы знаете, как упорядоченные списки начинаются с 1, а затем увеличиваются оттуда? counter-set
Свойство позволяет нам установить , что начальное значение для чего - то еще, скажем, -1. Или 2. Или 200! За исключением того, что он применяется к счетчикам CSS вместо упорядоченных списков.
Итак, допустим, у нас есть настраиваемый счетчик для списка глав книги, где номер главы добавляется к имени главы.
Начнем с определения счетчика со counter-reset
свойством. Мы назовем его chapter
и определим в родительском классе контейнера для наших глав, которые творчески называются .chapters
.
.chapters ( counter-reset: chapter; )
Затем мы назначаем chapter
счетчик элементу, используя counter-increment
свойство. Поскольку это главы книги, мы применим их к
элементы, предполагая, что название книги будет
. Обратите внимание, что мы фактически назначаем его :before
псевдоэлементу, поскольку он позволяет нам добавлять наш счетчик к фактическому
элемент.
h2:before ( counter-increment: chapter; )
h2:before ( counter-increment: chapter; )
Круто, последнее, что нам нужно, это сообщить счетчику, что он должен отображать. Это делается для content
свойства через counter()
функцию. Мы также добавим немного цвета на прилавок, так как этого требует дизайн.
h2:before ( color: red; content: "Chapter " counter(chapter) ": "; counter-increment: chapter; )
Эй, мы хорошо выглядим!
Но ждать! Я не особо копаю тот факт, что мы начинаем с Главы 1. Я имею в виду, что «Вперед» на самом деле не глава. Во всяком случае, это как Глава 0.
Вот где counter-set
пригодится! Давайте начнем с нуля:
h2:first-of-type::before ( counter-set: chapter; )
Ну вот! Так-то лучше. Просто установив в качестве значения свойства имя счетчика, мы установили, что список глав должен начинаться с главы 0. Мы могли бы так же легко установить его начало с чего-то другого, например с главы 100.
А если браузер не поддерживает counter-set
? Не важно. Он будет просто проигнорирован, и список начнется со значения по умолчанию 1
.
Синтаксис
( ? )+ | none
По сути, это причудливый способ сказать, что свойство принимает имя настраиваемого счетчика ( ) и начальное значение (
). Или установите его
none
и нумерация будет начинаться по умолчанию начальной точки, 1
.
- Первоначальный значение:
none
- Применимо: ко всем элементам (включая невизуальные)
- Унаследовано: нет
- Тип анимации: по типу вычисляемого значения
Значения
/* Set "awesome-counter" to 0 */ counter-set: awesome-counter; /* Set "awesome-counter" to -10 */ counter-set: awesome-counter -10; /* Set "awesome1" to 0, and "awesome2" to 2 */ counter-set: awesome1 awesome2 2; /* Wipe out any other settings that may have been declared elsewhere */ counter-set: none; /* Global values */ counter-set: inherit; counter-set: initial; counter-set: unset;
Обратите внимание, что counter-set
будет создан новый счетчик, если объявленное на нем имя счетчика еще не было определено где-то еще.
Поддержка браузера
IE | Край | Fire Fox | Хром | Сафари | Опера |
---|---|---|---|---|---|
Нет | Нет | 68+ | Нет | Нет | Нет |
Android Chrome | Android Firefox | Браузер Android | iOS Safari | опера мини |
---|---|---|---|---|
Нет | 79+ | Нет | Нет | Нет |
дальнейшее чтение
- CSS перечисляет спецификацию уровня 3 модуля (рабочий проект)
- Отображение текущего шага с помощью счетчиков CSS
- Подсчет с помощью счетчиков CSS и сетки
- Как обратить вспять пользовательские счетчики CSS