CSS властивості
ГлавнаяДовідник CSSПсевдоклас CSS :first-of-type

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

186

Псевдоклас :first-of-type задає стиль першого елемента певного типу в групі братських елементів (що мають одного з батьків).

Як приклад розглянемо наступний код HTML:

<article> <h1>Роль цитокінів при дорсалгії</h1> <p>Автор: Гордон Фрімен, канд. фіз.-мат. наук</p> <p>Зміст статті</p> <address>Пошта: freemen@blackmesa.com</address> <p>Опубліковано: <time datetime="2018-11-27">27 листопада 2018</time></p>
</article>

Псевдоклас :first-of-type без вказівки селектора вибере перші елементи кожного типу (<h1>, <p>, <address>, <time>) і встановить для них червоний колір тексту.

article :first-of-type { color: red; }

При додаванні селектора до :first-of-type спочатку вибираються вказані елементи, потім з них береться перший елемент. Наявність інших елементів (<h1> та <address>) та їх порядок не враховуються.

article p:first-of-type { color: red; }

Тут буде обрано перший абзац усередині <article> і виділено червоним кольором.

Замість :first-of-type можна використовувати :nth-of-type(1) .

Синтаксис

<code><i>Селектор</i>:first-of-type { ... }

Позначення

Опис Приклад
<тип> Вказує тип значення. <розмір>
A  ;&& B Значення повинні виводитися в зазначеному порядку. <размер> && <колір>
A | B Вказує, що потрібно вибрати лише одне значення із запропонованих (A або B). normal | small-caps
A || B Кожне значення може використовуватися самостійно або спільно з іншими у довільному порядку. width || count
[ ] Групує значення. [ crop || cross ]
* Повторювати нуль або більше разів. [,<час>]*
+ Повторювати один або більше разів. <число>+
? Вказаний тип, слово або група не є обов'язковим. inset?
{A, B} Повторювати не менше A, але не більше B разів. <радіус>{1,4}
# Повторювати один або більше разів через кому. <час>#

Приклад

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>first-of-type</title> <style> table { border-collapse: collapse; /* Забираємо подвійні межі */
width: 100%; /* Ширина таблиці */
border-spacing: 0; /* Відстань між осередків */
} 
td { border: 1px solid #6A3E14; /* Параметри рамки */
padding: 4px; /* Поля в осередках */
} 
tr:first-of-type { background: #808990; /* Колір тла */
color: #fff; /* Колір текст */
} 
td:first-of-type { background: #CFD6D3; /* Колір тла */
}
</style>
</head>
<body> <table> <tr> <td>&nbsp;</td><td>1998</td><td>1999</td><td>2000</t/t <td>2002</td><td>2003</td>
</tr> <tr> <td>Нафта</td> <td>3</td><td>22</td><td>34</td><td>62</td><&tt ;/td>
</tr> <tr> <td>Золото</td> <td>4</td><td>13</td><td>69</td><td>72</td><&t ;/td>
</tr> <tr> <td>Дерево</td> <td>4</td><td>7</td><td>73</td><td>79</td><td&tt ;/td>
</tr>
</table>
</body>
</html>

Результат цього прикладу показано на мал. 1.

Результат використання псевдокласу :first-of-type у таблиці

Мал. 1. Результат використання псевдокласу :first-of-type у таблиці

Специфікація

Специфікація Статус
Selectors Level 4 Робочий проект
Selectors Level 3 Рекомендація

Специфікація

Кожна специфікація проходить кілька стадій схвалення.

  • Recommendation ( Рекомендація) — специфікація схвалена W3C і рекомендована як стандарт.
  • Candidate Recommendation (Можлива рекомендація) — група, яка відповідає за стандарт, задоволена, як він відповідає своїм цілям, але потрібна допомога спільноти розробників з реалізації стандарту.) — на цьому етапі документ представлений на розгляд Консультативної ради W3C для остаточного затвердження. та внесення поправок для розгляду спільнотою.
  • Editor's draft (Редакторська чернетка) — чорнова версія стандарту після внесення змін до редакторів проекту.
  • Draft (Чернетка специфікації) — перша чорнова версія стандарту.

Браузери

9 12 1 9.5 3.2 3.5
2.1 1 10 3.2

Браузери

У таблиці браузерів застосовуються такі позначення.

  •  — властивість повністю підтримується браузером з усіма допустимими значеннями;
  •  — властивість браузером не сприймається та ігнорується;
  •  — при роботі можлива поява різних помилок, або властивість підтримується лише частково, наприклад, не всі допустимі знання акції діють або властивість застосовується не до всіх елементів, які вказані в специфікації.