Перейти к основному содержимому

Структурные псевдоклассы

Структурные псевдоклассы выбирают элемент по его положению в дереве документа.


Псевдокласс CSS :first-child

:first-child соответствует элементу только тогда, когда он является первым дочерним элементом другого элемента.

Стилизация всех элементов <p>, являющихся первым дочерним элементом

Выбирается любой элемент <p>, являющийся первым дочерним элементом своего родителя.

Prompt
Продемонстрируйте псевдокласс :first-child, стилизуя все элементы p, являющиеся первым дочерним элементом любого элемента, с color: blue. Включите несколько абзацев внутри разных родительских элементов, чтобы показать, какие из них выбираются.
Output: complete HTML page

Стилизация первого элемента <em> во всех элементах <p>

Внутри каждого элемента <p> выбирается первый элемент <em>.

Prompt
Используйте селектор "p em:first-child", чтобы стилизовать первый элемент em во всех элементах p с color: blue. Включите абзацы с несколькими элементами em, чтобы показать, что выбирается только первый em в каждом абзаце.
Output: complete HTML page

Стилизация всех элементов <em> во всех элементах <p>, являющихся первым дочерним элементом

Здесь выбирается каждый элемент <em> внутри элемента <p>, который сам является первым дочерним элементом другого элемента.

Prompt
Используйте селектор "p:first-child em", чтобы стилизовать все элементы em в элементах p, которые являются первым дочерним элементом другого элемента, с color: blue. Включите абзацы, являющиеся и не являющиеся первым дочерним элементом, с элементами em, чтобы показать разницу.
Output: complete HTML page

Псевдокласс CSS :lang()

Чтобы выбрать элементы по значению их атрибута lang, используйте псевдокласс :lang().

Пример

Здесь элементы <q> с lang="no" получают собственные кавычки.

Prompt
Продемонстрируйте псевдокласс :lang(). Используйте q:lang(no), чтобы задать пользовательские кавычки (тильды "~" "~") для элементов q с lang="no". Включите абзац с элементом q, у которого lang="no".
Output: complete HTML page

Другие структурные псевдоклассы

Семейство структурных псевдоклассов этим не ограничивается. Среди дочерних элементов родителя :last-child выбирает последний, :nth-child(n) — n-й, :nth-last-child(n) — n-й с конца, а :only-child — элемент, у которого нет соседних элементов. По типу :first-of-type выбирает первый элемент своего типа, а :last-of-type — последний.