Полный разбор с живыми примерами. Потрогай каждый и посмотри, как это работает в реальном CSS.
:hover :focus :nth-child()content (у ::before/::after)::before ::after ::first-letterРеагируют на действия пользователя: наведение, фокус, клик.
:hoverСрабатывает, когда пользователь наводит указатель на элемент.
:focusЭлемент в фокусе (кликнут или выбран Tab). Часто используется для полей ввода.
:activeСрабатывает в момент клика — между нажатием и отпусканием кнопки мыши.
:link :visited:link — непосещённая ссылка. :visited — ссылка, по которой уже переходили. Браузеры ограничивают стилизацию посещённых ссылок из соображений приватности.
Выбирают элементы по их позиции в родителе. Мощный инструмент без лишних классов.
:first-child :last-childПервый — зелёный, последний — розовый, нечётные — с синей полосой слева.
:nth-child(2n) :nth-child(3n)Каждый 2-й — с фоном. Каждый 3-й — выделен цветом и жирным шрифтом.
:not(.active)Все карточки, у которых нет класса .active, — полупрозрачные.
:has() ✨ Baseline 2023Стилизуем карточку-родителя, если внутри неё есть <img>. Раньше такое было невозможно на чистом CSS!
Состояния полей ввода: доступность, валидация, обязательность.
:enabled :disabled:required :checkedСтилизуем «невидимые» части элементов или создаём виртуальные дочерние элементы.
::before ::afterСамые популярные псевдоэлементы. Создают виртуальный контент до и после содержимого элемента. Всегда требуют свойство content.
::first-letter ::first-lineБуквица и выделение первой строки — классика книжной вёрстки в вебе.
Каскадные таблицы стилей (CSS) — это язык, описывающий внешний вид документа. Он работает вместе с HTML, превращая голую разметку в красивые веб-страницы.
::selectionМеняет цвет фона и текста при выделении мышкой.
::placeholderТекст-подсказка внутри поля ввода. Можно сделать курсивом и задать цвет.
::markerСтилизует буллиты или номера в списках. Можно задать цвет, шрифт и даже заменить символ.