В настоящее время в CSS нет сокращенного синтаксиса или псевдокласса для поиска первого или последнего дочернего элемента, имеющего определенный класс.1
Я использую метод переопределения для оформления первого дочернего элемента с определенным классом, который я подробно описываю в этом ответе. Однако из-за того, как работают одноуровневые комбинаторы, этот метод не может быть применен к последнему дочернему элементу, имеющему определенный класс.
Я не знаю какого-либо чистого способа CSS для нацеливания на последнего ребенка, имеющего определенный класс. Для этого вам нужно использовать JavaScript или реструктурировать разметку. Если есть только один такой элемент, то с помощью jQuery вы можете просто использовать селектор :last
, чтобы добавить класс, который затем можно стилизовать с помощью CSS:
$('.column:last').addClass('last');
.column.last { background:red; }
предварительный просмотр jsFiddle
1 Есть некоторые новые псевдо- классы, предлагаемые в Selectors 4, которые соответствовали бы всем требованиям, но браузеры не начнут их реализовывать в течение следующих нескольких месяцев или до тех пор, пока спецификация не станет более стабильной, и даже тогда мы не знаем, являются ли эти псевдоклассы останусь, потому что текущий синтаксис выглядит довольно неудобным:
:nth-last-match(1 of .column) { background:red; }
person
BoltClock
schedule
19.04.2012