Псевдоклассы
Псевдоклассы можно группировать по способу их активации:
Действия пользователя/Взаимодействие
:hover- наведение курсора:active- активное состояние (нажатие):focus- фокус элемента:visited- посещенная ссылка
Управляемые HTML-атрибутами
:disabled- атрибутdisabled(отключено):enabled- отсутствие атрибутаdisabled(включено):checked- атрибутchecked(отмечено):required- атрибутrequired(обязательное):read-only- атрибутreadonly(только для чтения):read-write- отсутствие атрибутаreadonly(для записи)
Состояния валидации форм
:valid- соответствует правилам валидации HTML5:invalid- не соответствует правилам валидации HTML5
Структурные/На основе позиции (активируются структурой DOM, атрибуты не нужны)
:first-child- первый дочерний элемент:last-child- последний дочерний элемент:nth-child()- n-й дочерний элемент:empty- пустой элемент
Таким образом, в то время как первая группа реагирует на взаимодействие пользователя, большинство остальных псевдоклассов либо:
- Управляются HTML-атрибутами
- Основаны на состоянии валидации формы
- Основаны на позиции элемента в DOM