:not — отрицание
Элементы, не соответствующие селектору: исключения.
1. Что это и зачем
Элементы, не соответствующие селектору: исключения.
Селектор отвечает на вопрос «к каким элементам применить правило». Браузер сопоставляет селектор с деревом DOM и вычисляет специфичность элемента. Чем выше специфичность, тем увереннее правило побеждает в каскаде — это основа, на которой строится вся психология CSS.
2. Синтаксис и пример
p:not(.lead) { font-size: 1rem; }Запись выше — базовый вариант использования. Обратите внимание, как :not — отрицание вписывается в структуру документа: рядом с другими элементами он ведёт себя по правилам каскада и наследования, которые разобраны в курсе CSS.
3. Нюансы и частые варианты
Селекторы можно комбинировать: список через запятую объединяет правила, вложенность задаёт пути в дереве, псевдоклассы ловят состояния, псевдоэлементы — фрагменты элемента. Выбор селектора определяет и производительность, и читаемость правил.
В реальной разметке :not — отрицание встречается в связке с другими тегами и классами: компонентная разметка (БЭМ) и переменные из базового CSS-курса помогают держать такие случаи под контролем без дублирования правил.
4. Как это работает под капотом
Селектор отвечает на вопрос «к каким элементам применить правило». Браузер сопоставляет селектор с деревом DOM и вычисляет специфичность элемента. Чем выше специфичность, тем увереннее правило побеждает в каскаде — это основа, на которой строится вся психология CSS.
5. Совместимость и поддержка
Классические селекторы работают во всех браузерах. Новые (:has, :is, :where, :nth-child(of ...)) требуют свежего браузера — для них есть fallback-варианты, а сами они сокращают дублирование CSS.
6. Распространённые ошибки
7. Практическое задание
Стилизуйте абзацы, кроме выши светлых.
Попробуйте выполнить задание прямо в песочнице ниже — измените код из примера и оцените результат, а затем проверьте его надёжность в DevTools.
8. Как применять в проектах
Селекторы строят всю систему стилей: базовые правила по тегам, состояния через псевдоклассы, вариации через классы, а специфичность держат под контролем, чтобы не плодить !important.
Этот приём работает в связке с остальными: раскладку страниц собирают в уроке Flexbox и Grid, цвет и контраст — в Цвет и контраст, типографику — в Веб-типографика.
9. Чек-лист перед сдачей
- специфичность правил управляемая, !important не злоупотребляют;
- выбор селектора отражает смысл, а не форму;
- новые псевдоклассы используются с fallback;
- длинные цепочки разбиты на компонентные классы;
- правила группируются: общее и различия идут раздельно;
10. Как закрепить
Прочитав этот мини-урок, закрепите тему на практике: выполните задание, затем пройдитесь по базовым курсам {rel1t} и {rel2t}, а знания подрядчите на странице Тесты HTML и CSS. Если хотите собрать первый настоящий проект — в уроке Практика: лендинг весь процесс разобран по шагам.