Псевдокласс nth-child
Псевдокласс nth-child выбирает элемент,
который является n-ным потомком родителя.
Синтаксис
селектор:nth-child(число | odd | even | выражение) {
}
Значения
| Значение | Описание |
|---|---|
| число |
Положительное число начиная с 1.
Задает номер элемента, к которому мы хотим
обратиться. Нумерация элементов начинается с 1.
|
odd |
Нечетные элементы. |
even |
Четные элементы. |
| выражение |
Можно составлять специальные выражения с буквой n,
которая обозначает все целые числа от нуля (не от единицы)
до бесконечности. Так, 2n - значит все четные
числа (начиная со второго).
Как это понять? Подставляем в n последовательно
числа от 0 и так далее: если n = 0, то 2n даст 0 -
такого элемента нет (нумерация элементов с 1),
если n = 1, то 2n даст 2 - второй элемент, если n = 2,
2n дает 4 - четвертый элемент. Если написать 3n - это
будет каждый третий элемент (начиная с третьего), и так далее.
|
Пример
В данном примере мы сделаем красного цвета
тот li, который является 4-тым потомком
своего родителя:
<ul>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ul>
li:nth-child(4) {
color: red;
}
:
Пример
Сейчас красными сделаем все четные li:
<ul>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ul>
li:nth-child(even) {
color: red;
}
:
Пример
Сейчас красными сделаем все нечетные li:
<ul>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ul>
li:nth-child(odd) {
color: red;
}
:
Пример
Сейчас красными сделаем каждую третью
li (начиная с третьей):
<ul>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ul>
li:nth-child(3n) {
color: red;
}
:
Пример
В селекторе можно указать диапазон элементов.
Допустим, у вас есть список из 20
элементов и нужно выбрать элементы с 7
по 14 включительно. Это можно сделать
вот так:
<ol>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ol>
li:nth-child(n+7):nth-child(-n+14) {
color: red;
}
: