CSS-свойствоВ стандарте

CSS counter-set — синтаксис и примеры

CSS-свойство counter-set: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Практический смысл

Для «counter-set» важно отделить назначение от случайного оформления. Свойство counter-set относится к области «генерируемое и замещаемое содержимое» и работает в определённом контексте элемента или псевдоэлемента. При проверке в форме с сообщением об ошибке сначала зафиксируйте результат при системной тёмной теме для «counter-set», затем не добавляйте новую обёртку до объяснения её роли.

Практическое правило для counter-set

Рабочий критерий для «counter-set»: проверьте вычисленное значение counter-set, наследование и контекст родителя. Если результат «counter-set» меняется вместе с посторонним условием, пример ещё не изолирован.

Синтаксис counter-set

Минимальная запись «counter-set» нужна для отделения самой возможности от стилей и разметки проекта. Проверьте фрагмент отдельно перед переносом.

css
.demo {
  counter-set: normal;
}
Открыть в Playground

Как работает counter-set

Чтобы объяснить работу «counter-set», проследите путь от структуры и входного значения до отображения или поведения. Свойство counter-set относится к области «генерируемое и замещаемое содержимое» и работает в определённом контексте элемента или псевдоэлемента. Контрольная точка для «counter-set» — изменение DOM в панели Elements.

Проверка в проекте

  • Проверьте вычисленное значение counter-set, наследование и контекст родителя; результат относится непосредственно к «counter-set».
  • Включить направление rtl и проверить логические стороны раскладки при разборе «counter-set».
  • Проверьте «counter-set» в форме с сообщением об ошибке через результат при системной тёмной теме и запишите наблюдаемое изменение.
Выбор конструкции

Критерий выбора «counter-set» — предсказуемая работа в заявленном контексте. Для «counter-set» подтвердите её через результат при системной тёмной теме и соблюдите ограничение: не добавляйте новую обёртку до объяснения её роли.

Практика с counter-set

Перенесите «counter-set» в изолированном демо и испытайте его в форме с сообщением об ошибке. Сначала воспроизведите правильный результат, затем намеренно добавьте риск для «counter-set»: изолированная декларация counter-set без связанных ограничений может дать другой результат в реальном компоненте.

генерируемое и замещаемое содержимоеcounter-set

Сценарий: в форме с сообщением об ошибке.

Ошибки при работе с counter-set

01

Устойчивость

Изолированная декларация counter-set без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «counter-set».

02

Доступность

Подмена семантики визуально похожим div или span при использовании «counter-set».

03

Каскад

Копирование свойства без необходимого родительского контекста; для «counter-set» проверьте это отдельно.

Поддержка counter-set

Для «counter-set» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «counter-set»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 85Edgeс версии 85Firefoxс версии 68Safariс версии 17.2

Спецификация: источник 1.

Вопросы о counter-set

Как понять, что «counter-set» выбрано правильно?

«counter-set» выбрано правильно, когда оно решает задачу «настраивать отображение маркеров, изображений или генерируемых фрагментов», сохраняет результат в форме с сообщением об ошибке и проходит предметную проверку: проверьте вычисленное значение counter-set, наследование и контекст родителя.

Нужен ли запасной вариант для «counter-set»?

Запасной вариант для «counter-set» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «counter-set» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.