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