Mit einer Standardliste versuche ich, die letzten beiden Listenelemente auszuwählen. Ich habe verschiedene Permutationen von, An+B
aber nichts scheint die letzten 2 auszuwählen:
li:nth-child(n+2) {} /* selects from the second onwards */
li:nth-child(n-2) {} /* selects everything */
li:nth-child(-n+2) {} /* selects first two only */
li:nth-child(-n-2) {} /* selects nothing */
Ich kenne einen neuen CSS3-Selektor wie, :nth-last-child()
aber ich würde etwas bevorzugen, das in ein paar weiteren Browsern funktioniert, wenn möglich (IE ist mir egal).
css
css-selectors
DisgruntledGoat
quelle
quelle
:nth-last-child()
in etwa der:nth-child()
von quirksmode.org . Auch:nth-child()
und:nth-last-child()
beide wurden in CSS3 eingeführt, ist weder älter noch neuer in diesem Sinne.nth-child
Tricks werden von CSS-Tricks zusammengefasstAntworten:
Dadurch werden die letzten beiden Elemente einer Liste ausgewählt:
quelle
:nth-last-child()
das , was bereits erwähnt wurde.nth-last-child
klingt so, als ob es speziell zur Lösung dieses Problems entwickelt wurde, daher bezweifle ich, dass es eine kompatiblere Alternative gibt. Die Unterstützung sieht jedoch ziemlich anständig aus .quelle
:nth-last-child(-n+2)
sollte den Trick machenquelle
Aufgrund der Definition der Semantik von
nth-child
sehe ich nicht, wie dies möglich ist, ohne die Länge der Liste der beteiligten Elemente einzubeziehen. Der Sinn der Semantik besteht darin, die Trennung einer Reihe von untergeordneten Elementen in sich wiederholende Gruppen ( Bearbeiten - danke BoltClock) oder in einen ersten Teil fester Länge zu ermöglichen, gefolgt von "dem Rest". Du willst irgendwie das Gegenteil von dem, wasnth-last-child
dir gibt.quelle
:nth-child()
können Sie die erstenm
Elemente durch Angabe auswählen:nth-child(-n+m)
.Wenn Sie jQuery in Ihrem Projekt verwenden oder bereit sind, es aufzunehmen, können Sie es
nth-last-child
über die Auswahl-API aufrufen (dies ist simuliert, dass es browserübergreifend ist). Hier ist ein Link zu einemnth-last-child
Plugin. Wenn Sie diese Methode gewählt haben, um auf die Elemente abzuzielen, an denen Sie interessiert waren:Und wenn Sie dann die
last
Klasse anstelle dernth-child
odernth-last-child
Pseudo-Selektoren erneut formatieren, erhalten Sie eine viel konsistentere browserübergreifende Erfahrung.quelle