Псевдоклас :nth-of-type
Оновлено: 17.03.2023
Псевдоклас :nth-of-type
Псевдоклас :nth-of-type використовується для додавання стилю до елементів зазначеного типу на основі нумерації в дереві елементів.
Синтаксис
<i>Селектор</i>:nth-of-type(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-of-type. |
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-of-type для вибору діапазону елементів. Тут будуть обрані всі елементи з другого по п'ятий.
:nth-of-type(n+2):nth-of-type(-n+5) { … }
Приклад
<!DOCTYPE html>
<html>
<head>
<metacharset="utf-8">
<title>nth-of-type</title>
<base href="https://assets.ithillel.ua/images/wiki/">
<style>
img:nth-of-type(2n+1) { float: left; }
img:nth-of-type(2n) { float: right; }
</style>
</head>
<body>
<p><img src="gallery/left-knight.gif" alt="">
<img src="gallery/right-knight.gif" alt=""></p>
<h1>Historical Tournament</h1>
</body>
</html>
У цьому прикладі непарні картинки вирівнюються по лівому краю вікна, а парні картинки по правому.