Выбор ответа Middle Архитектура CSS обновлено

Зачем :where в базовых стилях

Вопрос

Библиотека пишет базовые стили как :where(.ui-button) { padding: 8px; }. Зачем :where?

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

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: У :where нулевая специфичность, и проект легко перебьёт базовый стиль. Специфичность :where(...) всегда нулевая, что бы ни было внутри.

Варианты ответа

  1. Чтобы правило применилось только после полной загрузки страницы
  2. Чтобы стиль работал в старых браузерах без поддержки :is()
  3. Чтобы повысить специфичность и защитить стили библиотеки от проекта
  4. У :where нулевая специфичность, и проект легко перебьёт базовый стильправильный ответ

Разбор

Специфичность :where(...) всегда нулевая, что бы ни было внутри. Значит даже селектор по тегу из кода проекта перебьёт стиль библиотеки, если стоит позже. С защитой стилей ситуация обратная: :where её снижает. Ко времени загрузки и старым браузерам псевдокласс отношения не имеет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме