CSS-Auswahl für andere als das erste und das letzte Kind


105

Ich mache eine sehr fortgeschrittene Website. Meine Frage: Ist es möglich, alle anderen Kinder außer dem :first-childund dem auszuwählen :last-child? Ich weiß, dass es einen :not()Selektor gibt, aber er funktioniert nicht mit mehr als einem, der nicht in Klammern steht. Das habe ich:

#navigation ul li:not(:first-child, :last-child) {
    background: url(images/UISegmentBarButtonmiddle@2x.png);
    background-size: contain;
}

Sie sind mächtig mutig, dies zu benutzen. Beachten Sie, dass es nur in modernen Browsern funktioniert und definitiv nicht in dem Anti-Browser, den jeder verwendet.
los

2
@ Radu: "Ich mache eine sehr fortgeschrittene Website" Keine Überraschung dort ...
BoltClock

1
@BoltClock, richtig, nur sagen ... Wort der Warnung. Wenn das Ziel jedoch die iOS-Safari ist, wie der Name des Bildes andeutet, sollte sie sicher sein.
los

1
Jetzt verstehe ich, warum diese Frage so vertraut aussieht ... stackoverflow.com/questions/7403129/combining-not-selectors
BoltClock

"Anti-Browser"? Ist das das neue Google Ultron, von dem ich immer wieder höre?
Jonathan Dumaine

Antworten:


260

Versuchen Sie es #navigation ul li:not(:first-child):not(:last-child).


DU BIST GROSSARTIG! Danke!
Daniel

1
rofl, die Dummheit von mir, dies not()sogar zu versuchen, bevor ich
google

1
Das ist falsch: not (A and B)ist nicht gleich (not A) and (not B), das wäre lieber (not A) or (not B). Es funktioniert nicht.
Hibou57

2
Nein, was Salman Abbas gesagt hat, ist richtig. Sie denken an das Komma; #navigation ul li: nicht (: erstes Kind), #navigation ul li: nicht (: letztes Kind)
user847074

20

Sicher wird es funktionieren, Sie müssen nur zwei "Nicht" -Selektoren verwenden.

#navigation ul li:not(:first-child):not(:last-child) {

Es wird nach dem ersten fortgesetzt und sagt "nicht das erste Kind" und "nicht das letzte Kind".

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.