<div class="commentList">
<article class="comment " id="com21"></article>
<article class="comment " id="com20"></article>
<article class="comment " id="com19"></article>
<div class="something"> hello </div>
</div>
Я хочу выбрать #com19
?
.comment {
width:470px;
border-bottom:1px dotted #f0f0f0;
margin-bottom:10px;
}
.comment:last-child {
border-bottom:none;
margin-bottom:0;
}
Это не работает до тех пор, пока у меня есть еще один div.something
последний фактический ребенок в commentList. Можно ли использовать селектор последнего ребенка в этом случае, чтобы выбрать последнее появление article.comment
?
html
css
css-selectors
матовый
источник
источник
last-of-class
.:nth-match(selector)
и:nth-last-match(selector)
. Смотрите w3.org/TR/selectors4 для более подробной информации.:nth-last-child(An+B of selector)
, как это:nth-last-match()
было отброшено задолго до этого, но они не удосужились обновить WD. См stackoverflow.com/questions/21167159/css-nth-match-doesnt-work/...Если вы перемещаете элементы, вы можете изменить порядок
т.е.
float: right;
вместоfloat: left;
А затем используйте этот метод, чтобы выбрать первого ребенка в классе.
Это фактически применяет класс к экземпляру LAST только потому, что он теперь в обратном порядке.
Вот рабочий пример для вас:
источник
.some-class~.some-class
отлично работает для меня, когда повторяются только 2 элемента.Я думаю, что самый правильный ответ: использовать
:nth-child
(или, в данном конкретном случае, его аналог:nth-last-child
). Большинство знает этот селектор только по его первому аргументу, чтобы захватить диапазон элементов на основе вычисления с n, но он также может принимать второй аргумент "из [любого селектора CSS]".Ваш сценарий может быть решен с помощью этого селектора:
.commentList .comment:nth-last-child(1 of .comment)
Но если быть технически правильным, это не значит, что вы можете его использовать, потому что этот селектор на данный момент реализован только в Safari.
Для дальнейшего чтения:
источник
Что-то, что я думаю, должно быть прокомментировано здесь, который работал для меня:
Используйте
:last-child
несколько раз в необходимых местах, чтобы он всегда получал последний из последних.Возьмите это к примеру:
источник
Как насчет этого решения?
источник
article
здесь, поэтому: not (: last-child) не является необходимым для данного примера.something
не существует в исходном HTML и динамически вставляетсяhover
? Не подойдет ли это решение?если последний тип элемента тоже article,
last-of-type
он не будет работать должным образом.возможно я не очень понимаю, как это работает.
демонстрация
источник