CSS-справочникВ стандарте

CSS :last-of-type — как работает

CSS :last-of-type: принцип работы, корректный синтаксис, практический сценарий, ограничения, ошибки и актуальная совместимость.

Назначение и границы

У темы «:last-of-type» есть конкретная роль в области «псевдоклассы». Псевдокласс :last-of-type сопоставляет элемент с определённым состоянием или структурным условием. Для «:last-of-type» на странице при отключённых изображениях используйте порядок фокуса в дереве доступности и оставляйте DOM-порядок логичным для чтения.

Практическое правило для :last-of-type

Для «:last-of-type» сначала не полагайтесь только на hover и сохраняйте эквивалентное состояние клавиатурного фокуса. После этого сравните исходное и изменённое состояние «:last-of-type» на одном и том же содержимом.

Синтаксис :last-of-type

Для демонстрации «:last-of-type» используется короткий код с наблюдаемым результатом. Сохраните структуру примера, когда будете проверять другое значение.

css
.button:last-of-type {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
}
Открыть в Playground

Как работает :last-of-type

Чтобы объяснить работу «:last-of-type», проследите путь от структуры и входного значения до отображения или поведения. Селектор пересчитывается браузером при изменении состояния или структуры DOM. Контрольная точка для «:last-of-type» — поведение без пользовательской таблицы стилей.

Проверка в проекте

  • Не полагайтесь только на hover и сохраняйте эквивалентное состояние клавиатурного фокуса; результат относится непосредственно к «:last-of-type».
  • Проверить длинный текст, пустое значение и отсутствие необязательного ресурса при разборе «:last-of-type».
  • Проверьте «:last-of-type» на странице при отключённых изображениях через порядок фокуса в дереве доступности и запишите наблюдаемое изменение.
Выбор конструкции

Используйте «:last-of-type», когда требуется выбрать элемент по состоянию, положению или отношению к другим узлам; подтвердите выбор предметной проверкой: не полагайтесь только на hover и сохраняйте эквивалентное состояние клавиатурного фокуса. Для «:last-of-type» более простой вариант предпочтителен, если он сохраняет тот же смысл и поведение.

Практика с :last-of-type

Перенесите «:last-of-type» в рабочем фрагменте интерфейса и испытайте его на странице при отключённых изображениях. Сначала воспроизведите правильный результат, затем намеренно добавьте риск для «:last-of-type»: состояние :last-of-type не должно быть единственным способом увидеть важное действие или информацию.

псевдоклассы:last-of-type

Сценарий: на странице при отключённых изображениях.

Ошибки при работе с :last-of-type

01

Поддержка

Состояние :last-of-type не должно быть единственным способом увидеть важное действие или информацию — это предметный риск для «:last-of-type».

02

Контекст

Проверка только мышью и только на широком экране при использовании «:last-of-type».

03

Устойчивость

Оптимизация кода до проверки корректности и доступности; для «:last-of-type» проверьте это отдельно.

Поддержка :last-of-type

Для «:last-of-type» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «:last-of-type»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 1Edgeс версии 12Firefoxс версии 3.5Safariс версии 3.1

Спецификация: источник 1.

Вопросы о :last-of-type

Как понять, что «:last-of-type» выбрано правильно?

«:last-of-type» выбрано правильно, когда оно решает задачу «выбрать элемент по состоянию, положению или отношению к другим узлам», сохраняет результат на странице при отключённых изображениях и проходит предметную проверку: не полагайтесь только на hover и сохраняйте эквивалентное состояние клавиатурного фокуса.

Нужен ли запасной вариант для «:last-of-type»?

Запасной вариант для «:last-of-type» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «:last-of-type» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.