Урок 41. Справочник: Псевдоклассы и псевдоэлементы

📁 Раздел: Современный CSS ⏱️ Время изучения: ~80 мин 🎯 Сложность: Средняя
#hover #focus #active #nth-child #first-child #checked #not #is #where #before #after #first-line #placeholder #selection

⚡ Кратко

Памятка: : — псевдокласс (состояние/позиция), :: — псевдоэлемент (виртуальная часть). Ниже — таблица всех селекторов урока с мини-примерами.

Справочник урока

Псевдоклассы пишутся с одним двоеточием и выбирают элемент по состоянию или позиции. Псевдоэлементы — с двумя двоеточиями и создают виртуальную часть элемента (обязательно с content для ::before/::after).

ИнструментЗачем нуженМини-пример
:hoverКурсор наведён на элемент.button:hover { ... }
:focus / :focus-visibleЭлемент в фокусе (клик/Tab); -visible — только когда фокус стоит показать.link:focus-visible { outline: 3px solid; }
:activeЭлемент в момент нажатия (кнопка зажата).button:active { transform: translateY(0); }
:nth-child(n)Выбор по позиции среди соседей (even/odd/3n)li:nth-child(even) { ... }
:first-child / :last-childПервый / последний элемент в группеli:first-child { ... }
:checkedОтмеченный чекбокс или радиоinput:checked + label { ... }
:not()Исключение.nav a:not(.active) { ... }
:is()Группировка с обычной специфичностью:is(h1, h2, h3) { ... }
:where()Группировка с нулевой специфичностью:where(article, section) p { ... }
::beforeДекор перед содержимым (нужен content).badge::before { content: ''; }
::afterДекор после содержимого (нужен content).link::after { content: '→'; }
::first-lineПервая строка абзацаp::first-line { font-weight: 700; }
::placeholderТекст-подсказка в поле вводаinput::placeholder { color: #64748b; }
::selectionВыделенный пользователем текст::selection { background: #fde68a; }

Навигация