:first-child
Селектор позволяет немедленно предназначаться первый элемент внутри другого элемента. Он определен в спецификации CSS Selectors Level 3 как «структурный псевдокласс», что означает, что он используется для стилизации контента на основе его отношений с родительским и родственным контентом.
Предположим, у нас есть статья, и мы хотим увеличить первый абзац, например, «lede» или фрагмент вводного текста:
First paragraph…
Lorem ipsum…
Dolor sit amet…
Consectetur adipisicing…
Вместо того, чтобы давать ему класс (например .first
), мы можем использовать :first-child
для его выбора:
p:first-child ( font-size: 1.5em; )
Использование :first-child
очень похоже на, :first-of-type
но с одним важным отличием: оно менее специфично. :first-child
будет пытаться сопоставить только непосредственный первый дочерний элемент родительского элемента, тогда как first-of-type
будет соответствовать первому вхождению указанного элемента, даже если он не идет абсолютно первым в HTML. В приведенном выше примере результат будет таким же, только потому, что первый дочерний элемент article
также оказывается первым p
элементом. В этом проявляется сила :first-child
: он может идентифицировать элемент по отношению ко всем его братьям и сестрам, а не только братьям и сестрам того же типа.
Более полный пример ниже демонстрирует использование :first-child
и связанный с ним селектор псевдокласса :last-child
.
Посмотрите на эту ручку!
Поддержка браузера
Хром | Сафари | Fire Fox | Опера | IE | Android | iOS |
---|---|---|---|---|---|---|
Любой | 3.2+ | Любой | 9.5+ | 9+ | Любой | Любой |
:first-child
был представлен в модуле CSS Selectors Module 3, что означает, что старые версии браузеров его не поддерживают. Однако поддержка современных браузеров безупречна, а новые псевдоселекторы широко используются в производственных средах. Если вам требуется поддержка старых версий браузера, используйте polyfill для IE или используйте эти селекторы некритическими способами, например, с прогрессивным улучшением, что рекомендуется.