CSS-Verschachtelung und Spezifität
Die Spezifität des &
-Verschachtelungsselectors wird unter Verwendung der größten Spezifität in der zugehörigen Selektorliste berechnet. Dies ist identisch mit der Art und Weise, wie die Spezifität unter Verwendung der :is()
-Funktion berechnet wird.
<b class="foo"> <i>Blue text</i> </b>
&
-Verschachtelungssyntax
#a, b { & i { color: blue; } } .foo i { color: red; }
:is()
-Syntax
:is(#a, b) { & i { color: blue; } } .foo i { color: red; }
In diesem Beispiel hat der ID-Selektor (#a
) eine Spezifität von 1-0-0
, während der Typ-Selektor (b
) eine Spezifität von 0-0-1
hat. Sowohl der &
-Verschachtelungsselektor als auch die :is()
-Pseudoklasse nehmen eine Spezifität von 1-0-0
an, obwohl der #a
ID-Selektor nie verwendet wird.
Der .foo
-Klassenselektor hat eine Spezifität von 0-1-0
. Dies macht die Gesamtspezifität zu 1-0-1
für & i
und 0-1-1
für .foo i
, was bedeutet, dass color: blue;
gewinnt.