:nth-last-child()
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Псевдокласс :nth-last-child() CSS псевдокласса сопоставляет элементы на основе их позиции среди группы элементов-потомков, считая с конца.
Попробовать
Синтаксис
Псевдокласс nth-last-child задается с одним аргументом, который представляет собой шаблон для сопоставления элементов, считая с конца.
:nth-last-child(<nth> [of <complex-selector-list>]?) {
/* ... */
}
Ключевые значения
Функциональная запись
<An+B>-
Представляет элементы, чья числовая позиция в ряду элементов-потомков соответствует шаблону
An+B, для каждого положительного целого числа или нуляn, где:-
A— целое значение шага, -
B— целое значение смещения, -
n— все неотрицательные целые числа, начиная с 0.
Можно прочитать как
An+B-й элемент списка. Индекс первого элемента, считая с конца, равен1.AиBдолжны быть<integer>значениями. -
Синтаксис of <selector>
Передавая аргумент селектора, мы можем выбрать предпоследний элемент, который соответствует этому селектору. Например, следующий селектор соответствует последним трём элементам списка важно, которые назначены 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 и сочетателя последующих элементов-потомков subsequent-sibling combinator.
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".
Спецификации
| Спецификация |
|---|
| Селекторы Уровень 4 # nth-last-child-pseudo |
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
:nth-last-child |
4 | 12 | 3.5 | 9 | 3.1 | 18 | 4 | 10.1 | 2 | 1.0 | ≤37 |
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 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-child