Псевдокласс :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 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 використовується для зміни стилю першого рядка таблиці, а також для виділення кольором усіх парних рядків.

Браузери

:nth-child

Переглянути сумісність з Can I use?

:nth-child