<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>
Ich möchte auswählen #com19
?
.comment {
width:470px;
border-bottom:1px dotted #f0f0f0;
margin-bottom:10px;
}
.comment:last-child {
border-bottom:none;
margin-bottom:0;
}
Das funktioniert nicht, solange ich ein anderes div.something
als tatsächliches letztes Kind in der Kommentarliste habe. Ist es in diesem Fall möglich, den Last-Child-Selektor zu verwenden, um das letzte Erscheinungsbild von auszuwählen article.comment
?
html
css
css-selectors
matt
quelle
quelle
last-of-class
.:nth-match(selector)
und:nth-last-match(selector)
. Weitere Informationen finden Sie unter w3.org/TR/selectors4 .:nth-last-child(An+B of selector)
wie:nth-last-match()
schon lange zuvor, aber sie haben sich nicht die Mühe gemacht, den WD zu aktualisieren. Siehe stackoverflow.com/questions/21167159/css-nth-match-doesnt-work/…Wenn Sie die Elemente schweben lassen, können Sie die Reihenfolge umkehren
dh
float: right;
stattfloat: left;
Verwenden Sie dann diese Methode, um das erste untergeordnete Element einer Klasse auszuwählen.
Dies wendet die Klasse tatsächlich nur auf die LAST-Instanz an, da sie jetzt in umgekehrter Reihenfolge vorliegt.
Hier ist ein Arbeitsbeispiel für Sie:
quelle
.some-class~.some-class
funktioniert gut für mich, wenn nur 2 Elemente wiederholt werden.Ich denke, dass die richtigste Antwort lautet: Verwenden Sie
:nth-child
(oder in diesem speziellen Fall das Gegenstück:nth-last-child
). Die meisten kennen diesen Selektor nur anhand seines ersten Arguments, um einen Bereich von Elementen basierend auf einer Berechnung mit n zu erfassen, aber es kann auch ein zweites Argument "von [jedem CSS-Selektor]" verwendet werden.Ihr Szenario könnte mit diesem Selektor gelöst werden:
.commentList .comment:nth-last-child(1 of .comment)
Technisch korrekt zu sein bedeutet jedoch nicht, dass Sie es verwenden können, da dieser Selektor derzeit nur in Safari implementiert ist.
Zur weiteren Lektüre:
quelle
Etwas, von dem ich denke, dass es hier kommentiert werden sollte, das für mich funktioniert hat:
Verwenden Sie es
:last-child
mehrmals an den benötigten Stellen, damit es immer das Letzte vom Letzten erhält.Nehmen Sie zum Beispiel:
quelle
Was ist mit dieser Lösung?
quelle
article
hier, also: not (: last-child) ist für ein bestimmtes Beispiel nicht erforderlich.something
nicht im ursprünglichen HTML vorhanden ist und dynamisch eingefügt wirdhover
? Wird diese Lösung nicht scheitern?Wenn der letzte Elementtyp auch Artikel ist,
last-of-type
funktioniert dies nicht wie erwartet.Vielleicht verstehe ich nicht wirklich, wie es funktioniert.
Demo
quelle