less than 1 minute read

Псевдоклассы можно группировать по способу их активации:

Действия пользователя/Взаимодействие

  • :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 - пустой элемент

Таким образом, в то время как первая группа реагирует на взаимодействие пользователя, большинство остальных псевдоклассов либо:

  1. Управляются HTML-атрибутами
  2. Основаны на состоянии валидации формы
  3. Основаны на позиции элемента в DOM