Псевдокласс :nth-child
Оновлено: 17.03.2023
Псевдоклас :nth-child
Псевдоклас :nth-child використовується для додавання стилю до елементів на основі нумерації в дереві елементів.
Синтаксис
<i>Селектор</i>:nth-child(odd | even | <число> | <вираження>) {...}Значення
| 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) { … }Приклад
У цьому прикладі псевдоклас :nth-child використовується для зміни стилю першого рядка таблиці, а також для виділення кольором усіх парних рядків.