Псевдоселекторы в CSS

  —  2 минуты

#theory#useful#web
Читать статью в Telegram

Псевдоселекторы в CSS — это специальные селекторы, которые позволяют выбирать элементы на основе их состояния, положения в документе или других факторов, которые нельзя описать простыми селекторами. Они начинаются с двоеточия и открывают интересные возможности стилизации страницы

Псевдоселекторы бывают двух видов:

  1. Псевдоклассы — применяются к элементам на основе их состояния или взаимодействия с пользователем
  2. Псевдоэлементы — позволяют стилизовать определённые части элементов

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

  1. :hover — применяется, когда пользователь наводит указатель мыши на элемент
css
1a:hover {
2    color: red;
3}
4

В этом примере цвет текста ссылки изменится на красный при наведении курсора

  1. :nth-child(n) — выбирает элементы на основе их позиции среди братьев и сестёр
css
1li:nth-child(2) {
2    background-color: yellow;
3}
4

Здесь каждый второй элемент списка li будет иметь жёлтый фон

  1. :focus — применяется к элементу, когда он получает фокус (например, при клике или переходе по табуляции)
css
1input:focus {
2    border-color: blue;
3}
4

В этом примере цвет рамки текстового поля станет синим, когда элемент получит фокус

Конечно же, это не все псевдоклассы, которые существуют в CSS. В этом посте рассмотрим только часть для примера

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

  1. ::before — вставляет содержимое перед элементом
css
1p::before {
2    content: "Note: ";
3    font-weight: bold;
4}
5

Этот стиль добавит текст "Note: " перед каждым параграфом p

  1. ::after — вставляет содержимое после элемента.
css
1p::after {
2    content: " ->";
3    color: grey;
4}
5

В этом примере текст "->" будет добавлен после каждого параграфа

Ну и также не стоит забывать о том, что все псевдоселекторы можно сочетать, если правила стилизации у нас более сложные:

css
1li:nth-child(odd):hover {
2    background-color: lightblue;
3}
4

Этот код изменит цвет фона каждого нечётного элемента списка на светло-голубой при наведении на него курсора.

Статья была полезной?