:first-of-type
Селектор в CSS дозволяє цільової перше входження елемента в межах його контейнера. Це визначено в специфікації CSS Selectors Level 3 як "структурний псевдо-клас", тобто воно використовується для стилювання вмісту на основі його взаємозв'язку з батьківським вмістом та вмістом братів і сестер.
Припустимо, у нас є стаття із заголовком та кількома абзацами:
Paragraph 1.
Paragraph 2.
Paragraph 3.
Ми хочемо зробити перший абзац більшим, як своєрідний “леде” чи вступний абзац. Замість того, щоб давати йому клас, ми можемо використовувати його :first-of-type
для вибору:
p:first-of-type ( font-size: 1.25em; )
Використання :first-of-type
дуже схоже на, :nth-child
але з однією критичною відмінністю: воно менш конкретне. У наведеному вище прикладі, якби ми використовували p:nth-child(1)
, нічого не сталося б, оскільки абзац не є першим дочірнім елементом його батьків (the ). Це виявляє силу
:first-of-type
: він націлений на певний тип елемента в певному розташуванні стосовно подібних братів і сестер, а не всіх братів і сестер.
Більш повний приклад демонструє використання :first-of-type
і пов'язаний селектор псевдо-класу, :last-of-type
.
Перевірте цю ручку!
Підтримка браузера
Chrome | Сафарі | Firefox | Опера | IE | Android | iOS |
---|---|---|---|---|---|---|
Працює | 3,2+ | Працює | 9,5+ | 9+ | Працює | Працює |
:first-of-type
був введений в модулі CSS Selectors 3, що означає, що старі версії браузерів його не підтримують. Однак сучасна підтримка браузера бездоганна, і нові псевдоселектори широко використовуються у виробничих середовищах. Якщо вам потрібна старіша підтримка браузера, або polyfill для IE, або використовуйте ці селектори некритичними способами - прогресивне вдосконалення, яке рекомендується.