CSS властивості
ГлавнаяДовідник CSSПсевдоклас CSS :nth-child

Псевдоклас CSS :nth-child

231

Псевдоклас :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 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>&nbsp;</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).

Застосування псевдокласу :nth-child до рядків таблиці

Мал. 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

Браузери

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

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

Кількість вказує версію браузера, починаючи з якої властивість підтримується.