CSS counter-increment — синтаксис и примеры
CSS-свойство counter-increment: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.
Когда применять
«counter-increment» рассматривается не как изолированный синтаксис, а как часть области «генерируемое и замещаемое содержимое». Свойство counter-increment относится к области «генерируемое и замещаемое содержимое» и работает в определённом контексте элемента или псевдоэлемента. Практический контекст для «counter-increment» — в карточке материала с длинным заголовком; во время проверки проверяйте отсутствие данных как отдельный сценарий.
Рабочий критерий для «counter-increment»: проверьте вычисленное значение counter-increment, наследование и контекст родителя. Если результат «counter-increment» меняется вместе с посторонним условием, пример ещё не изолирован.
Синтаксис counter-increment
Синтаксис «counter-increment» показан на минимальном фрагменте без внешнего фреймворка. Сначала запустите исходный вариант, затем меняйте отмеченную часть.
.demo {
counter-increment: normal;
}Как работает counter-increment
Чтобы объяснить работу «counter-increment», проследите путь от структуры и входного значения до отображения или поведения. Свойство counter-increment относится к области «генерируемое и замещаемое содержимое» и работает в определённом контексте элемента или псевдоэлемента. Контрольная точка для «counter-increment» — изменение DOM в панели Elements.
Проверка в проекте
- Проверьте вычисленное значение counter-increment, наследование и контекст родителя; результат относится непосредственно к «counter-increment».
- Снять JavaScript и убедиться, что базовая информация остаётся доступной при разборе «counter-increment».
- Проверьте «counter-increment» в карточке материала с длинным заголовком через порядок фокуса в дереве доступности и запишите наблюдаемое изменение.
Оставляйте «counter-increment» в решении только после проверки в карточке материала с длинным заголовком. Если нативная конструкция решает задачу «counter-increment» с меньшим числом условий, используйте её.
Практика с counter-increment
Перенесите «counter-increment» на контрольной странице и испытайте его в карточке материала с длинным заголовком. Сначала воспроизведите правильный результат, затем намеренно добавьте риск для «counter-increment»: изолированная декларация counter-increment без связанных ограничений может дать другой результат в реальном компоненте.
Сценарий: в карточке материала с длинным заголовком.
Ошибки при работе с counter-increment
Каскад
Изолированная декларация counter-increment без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «counter-increment».
Поддержка
Потеря содержимого при печати или отключении фоновых изображений при использовании «counter-increment».
Контекст
Оптимизация кода до проверки корректности и доступности; для «counter-increment» проверьте это отдельно.
Поддержка counter-increment
Для «counter-increment» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «counter-increment»; окончательное решение принимайте по аудитории конкретного проекта.
Спецификация: источник 1.
Вопросы о counter-increment
Как понять, что «counter-increment» выбрано правильно?
«counter-increment» выбрано правильно, когда оно решает задачу «настраивать отображение маркеров, изображений или генерируемых фрагментов», сохраняет результат в карточке материала с длинным заголовком и проходит предметную проверку: проверьте вычисленное значение counter-increment, наследование и контекст родителя.
Нужен ли запасной вариант для «counter-increment»?
Запасной вариант для «counter-increment» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «counter-increment» должно сохранять смысл, содержимое и основное действие.
Спецификации и источники
Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.