Псевдокласс :nth-child

Псевдокласс :nth-child позволяет сделать выбор элемента по его номеру в дереве элементов. Отсчет элементов идет с начала, нумерация элементов начинается с единицы. Так же есть возможность выбора нескольких элементов используя определенные значения или функциональную запись.

ul li:nth-child(...) {
  ...   
}
Chrome
Все
Edge
Все
FireFox
Все
IE
6+
iOS Safari
Все
Opera
Все
Safari
Все

Значения

:nth-child(odd)

Выбор всех нечетных элементов

<style>
    ul.odd li:nth-child(odd) {
        color: red;
    }
</style>

<ul class="odd">
  <li>Первый элемент</li>
  <li>Второй элемент</li>
  <li>Третий элемент</li>
  <li>Четвертый элемент</li>
</ul>
  • Первый элемент
  • Второй элемент
  • Третий элемент
  • Четвертый элемент
:nth-child(even)

Выбор всех четных элементов

<style>
    ul.even li:nth-child(even) {
        color: red;
    }
</style>

<ul class="even">
  <li>Первый элемент</li>
  <li>Второй элемент</li>
  <li>Третий элемент</li>
  <li>Четвертый элемент</li>
</ul>
  • Первый элемент
  • Второй элемент
  • Третий элемент
  • Четвертый элемент
:nth-child(3)

Выбор элемента по его порядковому номеру относительно своего родителя

<style>
    ul.num li:nth-child(3) {
        color: red;
    }
</style>

<ul class="num">
  <li>Первый элемент</li>
  <li>Второй элемент</li>
  <li>Третий элемент</li>
  <li>Четвертый элемент</li>
</ul>
  • Первый элемент
  • Второй элемент
  • Третий элемент
  • Четвертый элемент
:nth-child(3n+2)

Выбор элементов используя математическое выражение an+b, где a - множитель счетчика, n - счетчик, b - изменение начала работы счетчика.

В примере :nth-child(3n+2), отсчет начнется со второго дочернего элемента списка, потому что b = 2, и дальше будет стилизоваться каждый третий элемент начиная со второго, так как an = 3n.

<style>
    ul.count li:nth-child(3n+2) {
        color: red;
    }
</style>

<ul class="count">
  <li>Первый элемент</li>
  <li>Второй элемент</li>
  <li>Третий элемент</li>
  <li>Четвертый элемент</li>
  <li>Пятый элемент</li>
  <li>Шестой элемент</li>
  <li>Седьмой элемент</li>
  <li>Восьмой элемент</li>
</ul>
  • Первый элемент
  • Второй элемент
  • Третий элемент
  • Четвертый элемент
  • Пятый элемент
  • Шестой элемент
  • Седьмой элемент
  • Восьмой элемент
:nth-child(-n+2)

Если необходимо выбрать определенное количество элементов, используйте конструкцию -n+b, где b = количество необходимых элементов для выборки.

<style>
    ul.minusn li:nth-child(-n+2) {
        color: red;
    }
</style>

<ul class="minusn">
  <li>Первый элемент</li>
  <li>Второй элемент</li>
  <li>Третий элемент</li>
  <li>Четвертый элемент</li>
  <li>Пятый элемент</li>
</ul>
  • Первый элемент
  • Второй элемент
  • Третий элемент
  • Четвертый элемент
  • Пятый элемент

Читайте также

Обсуждение (0)

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии