Псевдокласс CSS `:nth-last-child()`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
:nth-last-child() CSS псевдокласс выбирает элементы на основе их положения среди группы соседних элементов, считая с конца.
Попробуйте
p {
font-weight: bold;
}
li:nth-last-child(-n + 3) {
border: 2px solid orange;
margin-top: 1px;
}
li:nth-last-child(even) {
background-color: lightyellow;
}
<p>Eight deadliest wildfires:</p> <ol reversed> <li>Matheson Fire</li> <li>Miramichi Fire</li> <li>1997 Indonesian fires</li> <li>Thumb Fire</li> <li>Great Hinckley Fire</li> <li>Cloquet Fire</li> <li>Kursha-2 Fire</li> <li>Peshtigo Fire</li> </ol>
Синтаксис
:nth-last-child(<nth> [of <complex-selector-list>]?) {
/* ... */
}
Параметры
Псевдокласс :nth-last-child() задаётся одним аргументом, который определяет шаблон для выбора элементов при подсчёте с конца.
Ключевые слова
-
odd - Обозначает элементы с нечётным порядковым номером в ряду соседних элементов: 1, 3, 5 и т. д., считая с конца.
-
even - Обозначает элементы с чётным порядковым номером в ряду соседних элементов: 2, 4, 6 и т. д., считая с конца.
Функциональная запись
-
<An+B> - Обозначает элементы, порядковый номер которых в ряду соседних элементов соответствует шаблону
An+Bдля любого положительного целого числа или нуля в качествеn, где:-
A— целый шаг, -
B— целое смещение, -
n— все неотрицательные целые числа, начиная с 0.
Это можно прочитать как
An+B-й элемент списка. Индекс первого элемента при подсчёте с конца —1. ЗначенияAиBдолжны быть целыми числами<integer>. -
Синтаксис of <selector>
Передав селектор в качестве аргумента, можно выбрать n-й с конца элемент, соответствующий этому селектору. Например, следующий селектор выбирает последние три важных элемента списка, которым присвоен класс class="important".
:nth-last-child(-n + 3 of li.important) {
}
Примечание: Это отличается от вынесения селектора за пределы функции, например:
li.important:nth-last-child(-n + 3) {
}
Этот селектор применяет стиль к элементам списка, если они также входят в число последних трёх дочерних элементов.
Примеры
Примеры селекторов
-
tr:nth-last-child(odd)илиtr:nth-last-child(2n+1) - Обозначает нечётные строки HTML-таблицы: 1, 3, 5 и т. д., считая с конца.
-
tr:nth-last-child(even)илиtr:nth-last-child(2n) - Обозначает чётные строки HTML-таблицы: 2, 4, 6 и т. д., считая с конца.
-
:nth-last-child(7) - Обозначает седьмой элемент при подсчёте с конца.
-
:nth-last-child(5n) - Обозначает элементы 5, 10, 15 и т. д., считая с конца.
-
:nth-last-child(3n+4) - Обозначает элементы 4, 7, 10, 13 и т. д., считая с конца.
-
:nth-last-child(-n+3) - Обозначает последние три элемента в группе соседних элементов.
-
p:nth-last-child(n)илиp:nth-last-child(n+1) - Обозначает каждый
<p>элемент в группе соседних элементов. Это то же самое, что простой селекторp. (Посколькуnначинается с нуля, а нумерация последнего элемента начинается с единицы,nиn+1выбирают одни и те же элементы.) -
p:nth-last-child(1)илиp:nth-last-child(0n+1) - Обозначает каждый
<p>, который является первым элементом в группе соседних элементов при подсчёте с конца. Это то же самое, что селектор:last-child.
Пример с таблицей
HTML
<table>
<tbody>
<tr>
<td>First line</td>
</tr>
<tr>
<td>Second line</td>
</tr>
<tr>
<td>Third line</td>
</tr>
<tr>
<td>Fourth line</td>
</tr>
<tr>
<td>Fifth line</td>
</tr>
</tbody>
</table>
CSS
table {
border: 1px solid blue;
}
/* Selects the last three elements */
tr:nth-last-child(-n + 3) {
background-color: pink;
}
/* Selects every element starting from the second to last item */
tr:nth-last-child(n + 2) {
color: blue;
}
/* Select only the last second element */
tr:nth-last-child(2) {
font-weight: 600;
}
Результат
Запрос по количеству
Запрос по количеству задаёт стиль элементов в зависимости от их количества. В этом примере элементы списка становятся красными, если в данном списке их не меньше трёх. Это достигается сочетанием возможностей псевдокласса nth-last-child и комбинатора следующих соседних элементов.
HTML
<h4>A list of four items (styled):</h4> <ol> <li>One</li> <li>Two</li> <li>Three</li> <li>Four</li> </ol> <h4>A list of two items (unstyled):</h4> <ol> <li>One</li> <li>Two</li> </ol>
CSS
/* If there are at least three list items,
style them all */
li:nth-last-child(n + 3),
li:nth-last-child(3) ~ li {
color: red;
}
Результат
Пример синтаксиса of <selector>
В этом примере приведён неупорядоченный список имён. К некоторым элементам применён класс noted, после чего они выделены толстой нижней границей.
HTML
<ul> <li class="noted">Diego</li> <li>Shilpa</li> <li class="noted">Caterina</li> <li>Jayla</li> <li>Tyrone</li> <li>Ricardo</li> <li class="noted">Gila</li> <li>Sienna</li> <li>Titilayo</li> <li class="noted">Lexi</li> <li>Aylin</li> <li>Leo</li> <li>Leyla</li> <li class="noted">Bruce</li> <li>Aisha</li> <li>Veronica</li> <li class="noted">Kyouko</li> <li>Shireen</li> <li>Tanya</li> <li class="noted">Marlene</li> </ul>
CSS
* {
font-family: sans-serif;
}
ul {
display: flex;
flex-wrap: wrap;
list-style: none;
font-size: 1.2rem;
padding-left: 0;
}
li {
margin: 0.125rem;
padding: 0.25rem;
border: 1px solid tomato;
}
.noted {
border-bottom: 5px solid tomato;
}
В следующем CSS мы выбираем нечётные элементы списка, отмеченные class="noted".
li:nth-last-child(odd of .noted) {
background-color: tomato;
border-bottom-color: seagreen;
}
Результат
У элементов с class="noted" толстая нижняя граница, а элементы 1, 7, 14 и 20 имеют сплошной фон, поскольку это нечётные элементы списка с class="noted".
Спецификации
| Спецификация |
|---|
| Selectors Level 4 # nth-last-child-pseudo |
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
nth-last-child |
4 |
12 |
3.5 |
9 |
3.1 |
18 |
4 |
10.1 |
2 |
1.0 |
4.4 |
2 |
no_parent_required |
57 |
79 |
52 |
44 |
Нет |
57 |
52 |
43 |
Нет |
7.0 |
57 |
Нет |
of_syntax |
111 |
111 |
113 |
97 |
9 |
111 |
113 |
75 |
9 |
22.0 |
111 |
9 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:nth-last-child