Псевдокласс :nth-child
используется для добавления стиля к элементам на основе нумерации в родительском элементе. В значении может быть указан как порядковый номер элемента:
ul li:nth-child(1) {...}
Так и выражение, которое задается в виде an+b
, где a
и b
целые числа, а n
— счетчик, который автоматически принимает значение 0, 1, 2 и т.д.
:nth-child(3n+2) или :nth-child(-n+3)
Также доступны значении odd
и even
, которые определяют четные и нечетные элементы.
Псевдокласс :nth-last-child
делает все тоже самое, только с конца списка элементов.
Примеры использования у списка <ul>
:
Все нечётные номера элементов: 1, 3, 5, 7...
ul li:nth-child(odd) {
background: skyblue;
}
/* или */
ul li:nth-child(2n+1) {
background: skyblue;
}
Чётные номера элементов: 2, 3, 6, 8...
ul li:nth-child(even) {
background: skyblue;
}
/* или */
ul li:nth-child(2n) {
background: skyblue;
}
Пример группировки псевдоклассов и выбор элементов 2, 4, 6, 9.
ul li:nth-child(2), ul li:nth-child(4), ul li:nth-child(6), ul li:nth-child(9) {
background: skyblue;
}
Элементы 3, 6, 9, 12...
Элементы 1, 5, 9, 13...
Элементы 1, 2, 5, 6, 9, 10...
Элементы 1, 2, 6, 7, 11, 12...
Элементы 1, 2, 3, 7, 8, 9...
C третьего по пятнадцатый: