Вебсправочник
Справочник CSS

:where(): общий стиль с нулевой специфичностью аргументов

Where объединяет альтернативы селектора, но не добавляет специфичности за счёт себя и своего списка. Это удобно для базового оформления, которое легко переопределить в компоненте.

Назначение

Where объединяет альтернативы селектора, но не добавляет специфичности за счёт себя и своего списка. Это удобно для базового оформления, которое легко переопределить в компоненте.

Как это работает

Части селектора снаружи where по-прежнему имеют собственную специфичность. Если обернуть весь селектор в where, его вклад в специфичность будет нулевым; остальные правила каскада всё равно продолжают действовать.

Пример

<style>:where(.example p){color:#315b45}.highlight{color:#8a2445}</style>
<div class="example"><p>Базовый абзац.</p><p class="highlight">Абзац с отдельным классом.</p></div>

Что должно получиться

Первый абзац использует базовый цвет, второй — цвет класса highlight. Правило с классом не требует длинного селектора для преодоления специфичности базы.

Граница применения и частая ошибка

Нулевая специфичность не отменяет происхождение стилей, слои каскада и important. Не превращайте where в средство угадывания: сначала установите, на каком этапе каскада выбирается правило.

Самостоятельная проверка

Поменяйте местами два правила, оставив остальное неизменным, и объясните результат. Затем замените where на is и повторите сравнение. Укажите, какие части селектора дают вклад в специфичность.

HTML и CSS можно изменить в песочнице ниже. Она изолирована: JavaScript, внешние ресурсы и отправка форм отключены. Проверки печати, загрузки файлов и сетевых ответов выполняйте в отдельном учебном проекте.

Попробуйте сами

HTML + CSS песочница
РЕЗУЛЬТАТ · ИЗОЛИРОВАННЫЙ ПРЕДПРОСМОТР
Измените код и нажмите «Запустить». JavaScript и внешние запросы отключены.
Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.