Псевдокласс в CSS
Псевдоклас это добавленное к селектору особое состояние в котором находится html элемент в данный момент.
Например нам нужно задать цвет для элемента html с определенным селектором над которым сейчас находится курсор:
div:hover {background-color: #F89B4D;}
Псевдо-классы
Особенность псевдокласов в том они не указываются в разметке HTML-документа. Синтаксис написания — всегда начинаются с двоеточия ‘:‘.
Псевдо-класс | Пример | Описание |
---|---|---|
:link | a:link | Выбор всех не посещенных ссылок. |
:active | a:active | Выбор активной ссылки. |
:hover | a:hover | Выбор ссылки при наведении курсора мышки. Вместо `<a>` может быть любой элемент |
По расположению на одном уровне | ||
:first-child | *:first-child | Любой первый элемент в блоке. |
:last-child | *:last-child | Любой последний элемент в блоке. |
:only-child | *:only-child | Любой элемент в блоке, если там всего один элемент. |
:nth-child(n) | *:nth-child(2)Любой второй элемент в блоке.*:nth-child(2n)Любые элементы в блоке по счету: 2, 4, 6, … (чётные).*:nth-child(even)Любые элементы в блоке по счету: 2, 4, 6, … (чётные).*:nth-child(2n+1)Любые элементы в блоке по счету: 1, 3, 5, … (нечётные).*:nth-child(odd)Любые элементы в блоке по счету: 1, 3, 5, … (нечётные).*:nth-child(3n+2)Элементы номер 2, 5, 8 и так далее. | |
:nth-last-child(n) | *:nth-last-child(2) | Любой второй элемент в блоке с конца. |
По расположению на одном уровне с тем же тегом | ||
:first-of-type | p:first-of-type | Выбор первого дочернего элемента <p>. |
:last-of-type | p:last-of-type | Выбор последнего дочернего элемента <p>. |
:only-of-type | p:only-of-type | Выбор дочернего элемента <p>, если у родителя элемент <p> всего один. |
:nth-of-type(n) | p:nth-of-type(2) | Выбор второго дочернего элемента <p>. |
:nth-last-of-type(n) | p:nth-last-of-type(2) | Выбор второго дочернего элемента <p> с конца. |
Поля форм | ||
:enabled | input:enabled | Выбор включенного <input>. Обычно «:enabled« просто не пишется. |
:disabled | input:disabled | Выбор выключенного <input>. |
:default | input:default | Выбор пустого <input> без значений. |
:focus | input:focus | Выбор <input>, который находится в фокусе (в который установлен курсор). |
:focus-within | input[type=»focus-within»] | Выделит родителя в котором находится input |
:checked | input[type=»checkbox»] | Выбранный элемент <input> типа radio или checkbox. |
:optional | input:optional | находит любые <input> элементы, у которых не установлен атрибут required. |
:indeterminate | input:indeterminate | выберет элементы <input type=»checkbox»>, свойство indeterminate которых было установлено в true через jаvascript |
:in-range | input:in-range | показывает значения placeholder=»» в зоне допустимых значений |
:out-of-range | input:out-of-range | показывает значения placeholder=»» за зоной допустимых значений |
:required | input:required | находит любые <input> элементы, имеющие атрибут required. |
:read-only | :read-only | находи в input и textarea элементы, недоступные для редактирования пользователем. |
:read-write | :read-write | находи в input и textarea элементы, доступные для редактирования пользователем. |
:invalid | form:invalid | находит любые <input> или <form> элементы, контент которых не проходит валидацию |
:valid | form:valid | находит любые <input> или <form> элементы, контент которых валиден |
Остальные | ||
:root | :root | Выбор корневого элемента в документе. |
:defined | p:defined | выбор элемента определеного методом customElements.define |
:empty | p:empty | Пустой элемент <p>, в котором нет ни текста ни элементов. (тоисть без потомков) |
:lang(язык) | p:lang(ru) | Выбор элемента <p> с атрибутом lang, значение которого начинается с «ru». |
:target | :target | Выбор активного элемента на странице, который имеет якорную ссылку. |
:not(селектор) | :not(p) | Выбор всех элементов, кроме <p>. Примеры использования :not() |