Псевдоклас :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> </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.
Мал. 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 |
Браузери
У таблиці браузерів застосовуються такі позначення.
- — властивість повністю підтримується браузером з усіма допустимими значеннями;
- — властивість браузером не сприймається та ігнорується;
- — при роботі можлива поява різних помилок, або властивість підтримується лише частково, наприклад, не всі допустимі знання акції діють або властивість застосовується не до всіх елементів, які вказані в специфікації.