Псевдокласс :last-of-type | WebReference
Псевдокласс :last-of-type задаёт стиль последнего элемента определённого типа в группе братских элементов (имеющих одного родителя).
В качестве примера рассмотрим следующий код HTML:
<article> <h2>Роль цитокинов при дорсалгии</h2> <p>Автор: Гордон Фримен, канд. физ.-мат. наук</p> <p>Содержание статьи</p> <address>Почта: [email protected]</address> <p>Опубликовано: <time datetime="2018-11-27">27 ноября 2018</time></p> </article>
Псевдокласс :last-of-type без указания селектора выберет последние элементы каждого типа (<h2>, <p>, <address>, <time>) и установит для них красный цвет текста.
article :last-of-type { color: red; }При добавлении селектора к :last-of-type сперва выбираются указанные элементы, затем из них берётся последний элемент.
Наличие других элементов (<h2> и <address>) и их порядок не учитываются.
article p:last-of-type { color: red; }Здесь будет выбран последний абзац внутри <article> и выделен красным цветом.
Вместо :last-of-type допустимо использовать :nth-last-of-type(1).
Синтаксис
Селектор:last-of-type { ... }Синтаксис| Описание | Пример | |
|---|---|---|
| <тип> | Указывает тип значения. | <размер> |
| A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
| Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps | |
| A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке.![]() | width || count |
| [ ] | Группирует значения. | [ crop || cross ] |
| * | Повторять ноль или больше раз. | [,<время>]* |
| + | Повторять один или больше раз. | <число>+ |
| ? | Указанный тип, слово или группа не является обязательным. | inset? |
| {A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
| # | Повторять один или больше раз через запятую. | <время># |
Пример
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>last-of-type</title> <style> p:last-of-type::after { content: ‘ ◄’; /* Добавляем символ в конце текста */ color: #c00000; /* Цвет символа */ } </style> </head> <body> <p>Этот старинный скандинавский напиток пришёл к нам из древних времен и воспет во многих песнях.
В данном примере в последнем абзаце текста добавляется специальный символ красного оттенка. Результат примера показан на рис. 1.
Рис. 1. Результат использования псевдокласса :last-of-type
Спецификация
| Спецификация | Статус |
|---|---|
| Selectors Level 4 | Рабочий проект |
| Selectors Level 3 | Рекомендация |
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.

- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
| 9 | 12 | 9.5 | 3.2 | 3.5 |
| 2.1 | 1 | 10 | 3.2 |
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.

Число указывает версию браузреа, начиная с которой элемент поддерживается.
Псевдоклассы
См. также
- :first-of-type и :last-of-type
- :nth-last-child() и :nth-last-of-type()
- Псевдокласс :first-of-type
- Псевдокласс :last-child
:nth-last-of-type() ⚡️ HTML и CSS с примерами кода
Псевдокласс :nth-last-of-type используется для добавления стиля к элементам указанного типа на основе нумерации в дереве элементов. В отличие от псевдокласса :nth-of-type отсчёт ведётся не от первого элемента, а от последнего.
- :active
- :any-link
- :blank
- :checked
- :current()
- :default
- :defined
- :dir()
- :disabled
- :empty
- :enabled
- :first
- :first-child
- :first-of-type
- :focus
- :focus-visible
- :focus-within
- :fullscreen
- :future
- :has()
- :host
- :host()
- :host-context()
- :hover
- :indeterminate
- :in-range
- :invalid
- :is()
- :lang()
- :last-child
- :last-of-type
- :left
- :link
- :local-link
- :not()
- :nth-child()
- :nth-col()
- :nth-last-child()
- :nth-last-col()
- :nth-last-of-type()
- :nth-of-type()
- :only-child
- :only-of-type
- :optional
- :out-of-range
- :past
- :placeholder-shown
- :read-only
- :read-write
- :required
- :right
- :root
- :scope
- :target
- :target-within
- :user-invalid
- :valid
- :visited
- :where()
Синтаксис
/* Выбирает каждый четвёртый элемент <p>
среди любой группы соседних элементов,
отсчёт начинается с последнего элемента */
p:nth-last-of-type(4n) {
color: lime;
}
Значения
odd- Все нечётные номера элементов, начиная с конца.

even- Все чётные номера элементов, начиная с конца.
<число>- Порядковый номер дочернего элемента относительно своего родителя. Нумерация начинается с
1, это соответствует последнему элементу в списке. <выражение>- Задаётся в виде
an±b, гдеaиbцелые числа, аn— счётчик, который автоматически принимает значение0,1,2,…
Если a равно нулю, то оно не пишется и запись сокращается до b. Если b равно нулю, то оно также не указывается и выражение записывается в форме an. a и b могут быть отрицательными числами, в этом случае знак плюс меняется на минус, например: .
За счёт использования отрицательных значений a и b некоторые результаты могут также получиться отрицательными или равными нулю.
Однако на элементы оказывают влияние только положительные значения из-за того, что нумерация элементов начинается с 1.
В табл. 1 приведены некоторые возможные выражения и ключевые слова, а также указано, какие номера элементов будут задействованы. Отсчёт ведётся от последнего элемента.
Табл. 1. Результат для различных значений псевдокласса
| Значение | Номера элементов | Описание |
|---|---|---|
1 | 1 | Последний элемент, является синонимом псевдокласса :last-of-type. |
5 | 5 | Пятый элемент с конца. |
2n | 2, 4, 6, 8, 10,… | Все чётные элементы, начиная с конца; аналог значения even. |
2n+1 | 1, 3, 5, 7, 9,… | Все нечётные элементы, начиная с конца; аналог значения odd. |
3n | 3, 6, 9, 12,… | Каждый третий элемент, начиная с конца.![]() |
3n+2 | 2, 5, 8, 11, 14,… | Каждый третий элемент, начиная с предпоследнего. |
n+4 | 4, 5, 6, 7, 8,… | Все элементы, кроме последних трёх. |
-n+3 | 3, 2, 1 | Последние три элемента. |
5n-2 | 3, 8, 13, 18, 23,… | — |
even | 2, 4, 6, 8, 10,… | Все чётные элементы, начиная с конца. |
odd | 1, 3, 5, 7, 9,… | Все нечётные элементы, начиная с конца. |
Спецификации
- Selectors Level 4
- Selectors Level 3
Примеры
Пример 1
HTMLCSSРезультат
<div> <span>Это span.</span> <span>Это другой span.</span> <em>Это текст будет подчёркнут.</em> <span>Круто, этот span лаймовый!!!</span> <strike>Это вообще не span.</strike> <span>Это ещё один последний span.</span> </div>
span:nth-last-of-type(2) {
background-color: lime;
}
Пример 2
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>nth-last-of-type</title>
<style>
table {
width: 100%; /* Ширина таблицы */
border-collapse: collapse; /* Убираем двойные границы */
border-spacing: 0; /* Расстояние между ячейками */
}
td {
border: 1px solid #333; /* Параметры рамки */
padding: 3px; /* Поля в ячейках */
}
td:not(:first-of-type) {
border-left: 3px double #333; /* Граница слева */
}
td:first-of-type {
background: #eb9; /* Цвет фона */
}
td:nth-last-of-type(2n + 1) {
background: #f0f0f0; /* Цвет фона */
}
</style>
</head>
<body>
<table>
<tr>
<td> </td>
<td>2134</td>
<td>2135</td>
<td>2136</td>
<td>2137</td>
<td>2138</td>
</tr>
<tr>
<td>Нефть</td>
<td>16</td>
<td>34</td>
<td>62</td>
<td>74</td>
<td>57</td>
</tr>
<tr>
<td>Золото</td>
<td>4</td>
<td>69</td>
<td>72</td>
<td>56</td>
<td>47</td>
</tr>
<tr>
<td>Дерево</td>
<td>7</td>
<td>73</td>
<td>79</td>
<td>34</td>
<td>86</td>
</tr>
<tr>
<td>Камни</td>
<td>23</td>
<td>34</td>
<td>88</td>
<td>53</td>
<td>103</td>
</tr>
</table>
</body>
</html>
В данном примере псевдокласс :nth-last-of-type используется для выделения цветом всех нечётных колонок, начиная с последней.
Результат:
См. также
:nth-last-child:nth-of-type
Ссылки
- Псевдо-класс
:nth-last-of-type()MDN (рус.)
CSS: псевдокласс последнего типа — Изучите CSS
❮ Пред. Следующий ❯
Псевдокласс CSS :last-of-type выбирает элемент, который является последним элементом своего типа в списке дочерних элементов его родителя.
Псевдокласс :last-of-type аналогичен :nth-last-of-type.
Универсальный селектор CSS2
Универсальный селектор CSS2
:last-of-type {
css объявления;
} Пример селектора :last-of-type:
<голова>
Название документа
<стиль>
p:последний тип {
фон: #8ebf42;
стиль шрифта: курсив;
цвет: #ееееее;
}
стиль>
голова>
<тело>
:пример селектора последнего типа
Абзац 1
Абзац 2
Абзац 3
тело>
Попробуй сам »
Вложенные элементы также могут быть нацелены.
Селектор * используется, когда простой селектор не записан.
Пример целевых вложенных элементов:
<голова>
Название документа
<стиль>
статья:последний тип {
цвет фона: #8ebf42;
}
стиль>
голова>
<тело>
<статья>
Этот "div" стоит первым.
Этот вложенный "span" последний!
Эта вложенная "em" первая, но эта вложенная "em" последняя!
Это "b" подходит!
Это последний "div"!
статья>
тело>
Попробуй сам »
Селекторы :last-child и :last-of-type имеют сходство, но между ними есть одно различие. :last-child очень специфичен и соответствует только самому последнему дочернему элементу родительского элемента, тогда как :last-of-type соответствует последнему вхождению указанного элемента.
Пример селекторов CSS :last-of-type и :last-child:
<голова>
Название документа
<стиль>
p:последний тип {
фон: #8ebf42;
стиль шрифта: курсив;
цвет: #еее;
}
охватывать {
дисплей: блок;
}
диапазон: последний ребенок {
фон: #8ebf42;
стиль шрифта: курсив;
вес шрифта: полужирный;
цвет: #еее;
отступ: 10 пикселей;
}
стиль>
голова>
<тело>
:пример селекторов last-of-type и :last-child
Абзац 1
Абзац 2
Абзац 3
Небольшой текст
Небольшой текст
Небольшой текст
тело>
Попробуй сам »
Практикуйте свои знания
Псевдокласс CSS :last-of-type выбирает
если это последний дочерний элемент среди других элементов.
на основе их индекса, начиная с последнего элемента вверх. если это единственный ребенок своего родителя. это последний элемент своего типа в списке дочерних элементов его родителя.
Успех!
Неверно! Ты не правильно понял!
Как выбрать последний элемент определенного типа
Псевдокласс CSS :last-of-type поможет нам выбрать последний дочерний элемент своего типа div, span, p, article и т. д. среди группы его братья и сестры (прямой потомок его родителя)
Сначала это может показаться немного запутанным, но с приведенными ниже примерами вы полностью поймете это раз и навсегда!
Давайте начнем с простого примера и расширим его шаг за шагом, чтобы лучше понять эту концепцию:
<голова>
псевдокласс последнего типа
голова>
<тело>
<стиль>
основной :последний тип {
цвет фона: аква;
}
стиль>
<основной>
Я первый div внутри основного!
Привет, это второй элемент div!
Я тег p, который здесь один! Но эй, посмотри на мой цвет!
Я здесь последний div, посмотри на мой цвет!
главная>
тело>
Попробуй сам »
В приведенном выше коде основной тег является родительским для тегов div и p.
Мы указали в css, что мы хотим, чтобы наши последние прямые дочерние элементы основного тега (наш родитель здесь) имели цвет фона цвета морской волны ( main :last-of-type {
цвет фона: аква;
})
Обратите внимание на пробел между main и :last-of-type .
Итак, последний div и единственный p внутри основного тега будет цвета морской волны.
Вот результат:
<голова>
псевдокласс последнего типа
голова>
<тело>
<стиль>
основной :последний тип {
цвет фона: аква;
}
стиль>
<основной>
Я первый div внутри основного тега!
Привет, это второй элемент div!
Я тег p, который здесь один! Но эй, посмотри на мой цвет
Я здесь последний div, посмотри на мой цвет!
главная>
тело>
Попробуй сам »
Теперь давайте немного расширим его, добавив другие теги между существующими тегами.
Вот так:
<стиль>
основной :последний тип {
цвет фона: аква;
}
стиль>
<основной>
<дел>
Я первый div внутри основного! Я здесь пролет И
Я тут другой спан!
Я здесь тег абзаца! А я тег em в p!
Теперь я последний!
Попробуй сам »
Итак, как вы видели, мы добавили несколько тегов span, em и p внутри прямых потомков основного тега .
Теперь теги внутри каждого прямого дочернего элемента будут рассматриваться как элемент последнего типа.
Это означает, что, например, в first div мы добавили два тега span , и последний будет выбран как последний тип span в его прямом родительском элементе, которым является first div , и сам этот div будет рассматриваться как тип div, связанный с его прямым родителем, который является основной тег .






</strike>
<span>Это ещё один последний span.</span>
</div>