Весной стартует сезон найма, успей отхватить свой оффер!

Псевдоклассы и псевдоэлементы в CSS

CSS предоставляет мощные инструменты для стилизации: псевдоклассы и псевдоэлементы. Они помогают выбирать элементы на основе их состояния или создавать стили для частей элементов.

Псевдоклассы

Псевдоклассы — это селекторы, которые позволяют выбирать элементы в определённом состоянии (например, при наведении курсора).

Синтаксис псевдокласса

селектор:псевдокласс {
  /* стили */
}

Примеры популярных псевдоклассов

  • :hover — при наведении мыши.
  • :focus — при получении фокуса.
  • :nth-child(n) — для выбора элемента по порядковому номеру.
  • :checked — для отмеченных чекбоксов или радио-кнопок.
  • :not(selector) — выбирает элементы, которые не соответствуют селектору.

Пример псевдокласса

button:hover {
  background-color: #007BFF;
  color: white;
}

Пример использования:

Псевдоклассы позволяют создавать интерактивные элементы, такие как кнопки, которые меняют внешний вид при взаимодействии.

Псевдоэлементы

Псевдоэлементы позволяют стилизовать части элементов (например, первую букву или добавлять текст до элемента).

Синтаксис псевдоэлемента

селектор::псевдоэлемент {
  /* стили */
}

Примеры популярных псевдоэлементов

  • ::before — вставляет контент перед элементом.
  • ::after — вставляет контент после элемента.
  • ::first-letter — стилизует первую букву текста.
  • ::first-line — стилизует первую строку текста.
  • ::placeholder — стилизует текст внутри полей ввода.

Пример псевдоэлемента

p::first-line {
  font-weight: bold;
}

button::after {
  content: " →";
}

Двойное двоеточие:

Для псевдоэлементов в современном CSS используется двойное двоеточие (::), но для обратной совместимости допустимо также одно двоеточие (:)

Таблица сравнения

ОсобенностьПсевдоклассыПсевдоэлементы
Синтаксис:псевдокласс::псевдоэлемент
ФокусНа состояние элементаНа часть элемента
Примеры:hover, :focus, :nth-child::before, ::after

Поддержка браузерами:

Перед использованием убедитесь, что нужный псевдокласс или псевдоэлемент поддерживается всеми целевыми браузерами!