Псевдоселекторы в CSS — это специальные селекторы, которые позволяют выбирать элементы на основе их состояния, положения в документе или других факторов, которые нельзя описать простыми селекторами. Они начинаются с двоеточия и открывают интересные возможности стилизации страницы
Псевдоселекторы бывают двух видов:
- Псевдоклассы — применяются к элементам на основе их состояния или взаимодействия с пользователем
- Псевдоэлементы — позволяют стилизовать определённые части элементов
Примеры псевдоклассов:
- :hover — применяется, когда пользователь наводит указатель мыши на элемент
css1a:hover { 2 color: red; 3} 4
В этом примере цвет текста ссылки изменится на красный при наведении курсора
- :nth-child(n) — выбирает элементы на основе их позиции среди братьев и сестёр
css1li:nth-child(2) { 2 background-color: yellow; 3} 4
Здесь каждый второй элемент списка li будет иметь жёлтый фон
- :focus — применяется к элементу, когда он получает фокус (например, при клике или переходе по табуляции)
css1input:focus { 2 border-color: blue; 3} 4
В этом примере цвет рамки текстового поля станет синим, когда элемент получит фокус
Конечно же, это не все псевдоклассы, которые существуют в CSS. В этом посте рассмотрим только часть для примера
Примеры псевдоэлементов:
- ::before — вставляет содержимое перед элементом
css1p::before { 2 content: "Note: "; 3 font-weight: bold; 4} 5
Этот стиль добавит текст "Note: " перед каждым параграфом p
- ::after — вставляет содержимое после элемента.
css1p::after { 2 content: " ->"; 3 color: grey; 4} 5
В этом примере текст "->" будет добавлен после каждого параграфа
Ну и также не стоит забывать о том, что все псевдоселекторы можно сочетать, если правила стилизации у нас более сложные:
css1li:nth-child(odd):hover { 2 background-color: lightblue; 3} 4
Этот код изменит цвет фона каждого нечётного элемента списка на светло-голубой при наведении на него курсора.
Статья была полезной?
Читайте также:
— 2 минуты
Как реагировать на изменения объекта
В JavaScript обычные объекты не умеют уведомлять о своих изменениях, однако...
— 1 минута
CSS для печати страниц
Несколько лет назад я делал пет-проект — конструктор резюме. Кейс был такой...
— 1 минута
Как скачать файл с сайта
У тега ссылки <a> есть очень удобный атрибут download, который позволяет ск...