Файл: Псевдоклассы и псевдоэлементы Псевдоклассы.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 17

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Псевдоклассы и псевдоэлементы
Псевдоклассы – это селекторы, которые определяют состояние уже существующих элементов, которое может меняться при определенных условиях.

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

Ключевое отличие между ними в том, что псевдоклассы определяют именно состояние элементов, которые уже существуют на странице, а псевдоэлементы создают области (искусственные элементы), которых изначально на веб-странице не было. Но и те и другие отсутствуют в исходном коде документа.

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

Для составления этого списка использовались материалы этой страницы страндарта:

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

E:root – находит корневой элемент дерева документа. Применимо к HTML, :root находит элемент  и идентичен селектору по тегу html

Пример

Использование :root полезно для объявления CSS Переменных:

:root {

--main-color: hotpink;

--pane-padding: 5px 42px;

}
E:nth-child(n) – находит один или более элементов, основываясь на их позиции среди группы соседних элементов.

Пример

/* Выбирает каждый четвёртый элемент

среди любой группы соседних элементов */
:nth-child(4n) {

color: lime;

}
E:nth-last-child(n) – находит элемент, имеющий an+b-1 потомков после данной позиции в дереве документа, значение для n может быть положительным или нулевым, а также имеющий родительский элемент.

Примеры


tr:nth-last-child(-n+4)

Находит последние 4 строки HTML таблицы.

span:nth-last-child(even)

Ищет чётные элементы в родительском элементе, начиная с последнего элемента и работая задом наперёд.
E:nth-of-type(n) – находит один или более элементов с заданным тегом, основываясь на их позиции среди группы соседних элементов.

/* Выбирает каждый четвёртый элемент



среди любой группы соседних элементов. */
p:nth-of-type(4n) {

color: lime;

}
E:nth-last-of-type(n)  – находит один или более элементов с заданным тегом, основываясь на их позиции среди группы соседних элементов, считая с конца.

/* Выбирает каждый четвёртый элемент


среди любой группы соседних элементов,

отсчёт начинается с последнего элемента */
p:nth-last-of-type(4n) {

color: lime;

}
E:first-child  – находит любой элемент, являющийся первым в своём родителе.
E:last-child

E:first-of-type

E:last-of-type

E:only-child

E:only-of-type

E:empty

E:link Сенюшкин

E:visited Кутляев

E:active Перепелица

E:hover Галяев

E:focus Фазылов

E:target Петухов

E:lang(fr)

E:enabled Кораблева

E:disabled Медведев

E:checked Рожкова

E:not(s) Боровая

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

E::first-line Трякшина

E::first-letter Грачев

E::before Наконечникова

E::after Умбеталиев

Здесь, E- элемент, к которому применяется селектор.
Обратите внимание, что псевдоэлементы пишутся с двойным двоеточием. Разработчики изначально сделали такую форму записи, чтобы отличать их от псевдоклассов. Но, если вы запишите название псевдоэлемента с одинарным двоеточием, то ошибок браузер выдавать не будет.

https://developer.mozilla.org/ru/docs/Web/CSS/:first-child