Wie wende ich einen Selektor nur an, wenn er NICHT unter einem bestimmten Element steht (also nur, wenn es der Stamm ist)

8

Ich verstehe nicht, warum der folgende Code nicht das gewünschte Verhalten hat:

%Vor% %Vor%

Ich dachte, dass die Verwendung von :not() dazu führen würde, dass "fett" nur auf den Hauptlink "Toggle" angewendet wird, stattdessen wird es auf alle roten "fett" angewendet. Warum?

Bitte beachten Sie, dass dieser Code mit denselben Klassennamen verschachtelt ist. Ich möchte nicht auf bestimmte Ebenen mit verschiedenen CSS-Klassen abzielen, sondern nur auf Elemente mit Nachkommenselektoren und anderen Operatoren

Hier ist auch ein jsFiddle , um es direkt auszuprobieren.

    
Luca Detomi 24.10.2016, 09:01
quelle

4 Antworten

4

Ich denke, du könntest das wollen:

%Vor%     
Mike Harrison 24.10.2016 09:19
quelle
1

: nicht unterstützt keine CSS-Kombinatoren.

Sie können dies nur folgendermaßen tun:

%Vor%

Geige

    
Zeev Katz 24.10.2016 09:31
quelle
1

Ich habe es so oft versucht, aber das ist der einzige Weg, den ich machen kann:

%Vor%

So benutzen Sie: nicht den richtigen Weg: füge specialToggle für Elemente hinzu, die du do not want to select

hast %Vor%

und dann css:

%Vor%

Ссылка

    
Jared Chu 24.10.2016 09:48
quelle
1

Wenn die Struktur immer gleich ist, können Sie versuchen, das Größer-als-Zeichen (& gt;) zu verwenden. Das bedeutet, dass Sie den Stil nur auf die unmittelbaren untergeordneten Elemente der Klasse anwenden.

%Vor%

Oder wenn der Container nicht immer dieselbe Klasse hat, aber immer ein div-Element ist, das Sie verwenden könnten:

%Vor%     
CamBarker 24.10.2016 10:04
quelle

Tags und Links