Wählen Sie rekursiv: last-child. Möglich?

8

Ist es in CSS möglich, rekursiv alle auszuwählen: last-child from body?

Gegeben dieses Markup:

%Vor%

Ich suche div no. 3, 4 und 6

Eine andere Möglichkeit ist es:

%Vor%

Aber das ist offensichtlich kein guter Ansatz.

    
Lasse Dahl Ebert 18.09.2012, 12:43
quelle

2 Antworten

6

Nein, das ist leider nur die einzige Möglichkeit, dies zu tun, ohne den HTML-Code zu ändern.

Es gab mindestens eine Anfrage für rekursive Versionen des% Co_de% und% Co_de% Pseudo-Klassen, aber es scheint nicht viel Gefallen gefunden zu haben. Beachten Sie, dass die Pseudo-Klassen auf die gleiche Weise verschachtelt und wiederholt werden wie in Ihrer Frage:

  

Derzeit, AFAIK, können wir nur bis zu einer gewissen genauen Verschachtelungsebene, die im Voraus bekannt ist (<3> im Beispiel unten), zuordnen.

%Vor%      

Wir können nicht nur den Kontextselektor für den ersten Zweig verwenden, da er auch die ersten untergeordneten Elemente von Blöcken auswählen würde, die selbst keine ersten untergeordneten Elemente sind.

     

Wir brauchen also eine Art rekursiver Selektor, der nicht nur dem ersten untergeordneten Element entspricht, sondern rekursiv alle ersten und letzten Elemente unabhängig von ihrer Verschachtelungsebene abbildet.

    
BoltClock 18.09.2012, 13:03
quelle
1

Keine Notwendigkeit, den ganzen Weg zu verketten. Es wäre einfach so

%Vor%

Demo

Update: Geben Sie in diesem Fall die div2 eine typische Klasse an und verwenden Sie :not() , um die Auswahl aufzuheben

%Vor%

Demo

    
Starx 18.09.2012 12:46
quelle

Tags und Links