Псевдоклас :nth-child використовується для додавання стилю до елементів на основі нумерації у дереві елементів.
Синтаксис
 <code><i>Селектор</i>:nth-child(odd | even | <число> | <вираз>) {...} Позначення
| Опис | Приклад | |
|---|---|---|
| <тип> | Вказує тип значення. | <размер> | 
| A && B | Значення повинні виводитися в зазначеному порядку. | <размер> && <колір> | 
| A | B | Вказує, що потрібно вибрати лише одне значення із запропонованих (A або B). | normal | small-caps | 
| A || B | Кожне значення може використовуватися самостійно або спільно з іншими у довільному порядку. | width || count | 
| [ ] | Групує значення. | [ crop || cross ] | 
| * | Повторювати нуль або більше разів. | [,<час>]* | 
| + | Повторювати один або більше разів. | <число>+ | 
| ? | Вказаний тип, слово або група не є обов'язковим. | inset? | 
| {A, B} | Повторювати не менше A, але не більше B разів. | <радіус>{1,4} | 
| # | Повторювати один або більше разів через кому. | <час># | 
Значення
- odd
- Усі непарні номери елементів.
- even
- Усі парні номери елементів.
- <число>
- Порядковий номер дочірнього елемента щодо свого батька. Нумерація починається з 1, це буде перший елемент у списку.
- <вираз>
- Задається у вигляді an±b, де a та b — цілі числа, а n — лічильник, який автоматично набуває значення 0, 1, 2...
Якщо a дорівнює нулю, воно не пишеться і запис скорочується до b. Якщо b дорівнює нулю, воно також не вказується і вираз записується у формі an. a та b можуть бути негативними числами, у цьому випадку знак плюс змінюється на мінус, наприклад: 5n-1.
За рахунок використання негативних значень a та b деякі результати можуть також вийти негативними або рівними нулю. Однак на елементи впливають тільки позитивні значення через те, що нумерація елементів починається з 1.
У табл. .
| Значення | Номери елементів | Опис | 
|---|---|---|
| 1 | 1 | Перший елемент є синонімом псевдокласу :first-child. | 
| 5 | 5 | П'ятий елемент. | 
| 2n | 2, 4, 6, 8, 10,… | Усі парні елементи, аналог значення even. | 
| 2n+1 | 1, 3, 5, 7, 9,… | Усі непарні елементи, аналог значення odd. | 
| 3n | 3, 6, 9, 12, 15,… | Кожен третій елемент. | 
| 3n+2 | 2, 5, 8, 11, 14,… | Кожен третій елемент, починаючи з другого. | 
| n+4 | 4, 5, 6, 7, 8,… | Всі елементи, крім перших трьох. | 
| -n+3 | 3, 2, 1 | Перші три елементи. | 
| 5n-2 | 3, 8, 13, 18, 23,… | — | 
| even | 2, 4, 6, 8, 10,… | Усі парні елементи. | 
| odd | 1, 3, 5, 7, 9,… | Всі непарні елементи. | 
Допустимо комбінувати два псевдокласи :nth-child для вибору діапазону елементів. Тут будуть вибрані всі елементи з другого до п'ятого.
:nth-child(n+2):nth-child(-n+5) { … }Приклад
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>nth-child</title> <style> table { width: 100%; /* Ширина таблиці */
border-spacing: 0; /* Відстань між осередками */
} 
tr:nth-child(2n) { background: #f0f0f0; /* Колір тла */
} 
tr:nth-child(1) { background: #666; /* Колір тла */
color: #fff; /* Колір тексту */
}
</style>
</head>
<body> <table border="1"> <tr> <td> </td><td>2134</td><td>2135</td> <td>2136</td><td>2137</td><td>2138</td>
</tr> <tr> <td>Нафта</td><td>16</td><td>34</td> <td>62</td><td>74</td><td>57</td>
</tr> <tr> <td>Золото</td><td>4</td><td>69</td> <td>72</td><td>56</td><td>47</td>
</tr> <tr> <td>Дерево</td><td>7</td><td>73</td> <td>79</td><td>34</td><td>86</td>
</tr> <tr> <td>Камені</td><td>23</td><td>34</td> <td>88</td><td>53</td><td>103</td>
</tr>
</table>
</body>
</html>У даному прикладі псевдоклас :nth-child використовується для зміни стилю першого рядка таблиці, а також для виділення кольором усіх парних рядків (рис. 1).

Мал. 1. Застосування псевдокласу :nth-child до рядків таблиці
Специфікація
| Специфікація | Статус | 
|---|---|
| Selectors Level 4 | Робочий проект | 
| Selectors Level 3 | Рекомендація | 
Специфікація
Кожна специфікація проходить кілька стадій схвалення.
- Recommendation (Рекомендація) — специфікація схвалена W3C і рекомендована як стандарт.
- Candidate Recommendation (Можлива рекомендація) — група, яка відповідає за стандарт, задоволена, як він відповідає своїм цілям, але потрібна допомога спільноти розробників з реалізації стандарту.) — на цьому етапі документ представлений на розгляд Консультативної ради W3C для остаточного затвердження. та внесення поправок для розгляду спільнотою.
- Editor's draft (Редакторська чернетка) — чорнова версія стандарту після внесення змін до редакторів проекту.
- Draft (Чернетка специфікації) — перша чорнова версія стандарту.
Браузери
| 9 | 12 | 1 | 9.5 | 3.1 | 3.5 | 
| 2.1 | 1 | 9.5 | 3.1 | 
Браузери
У таблиці браузерів застосовуються такі позначення.
- — властивість повністю підтримується браузером з усіма допустимими значеннями;
- — властивість браузером не сприймається та ігнорується;
- — при роботі можлива поява різних помилок, або властивість підтримується лише частково, наприклад, не всі припустимі начення діють або властивість застосовується не до всіх елементів, зазначених у специфікації.
Кількість вказує версію браузера, починаючи з якої властивість підтримується.
