CSS-Verschachtelung und Spezifität
Die Spezifität des &-Verschachtelungsselectors wird anhand der höchsten Spezifität in der dazugehörigen Selektorliste berechnet. Dies ist identisch zu der Art, wie die Spezifität bei der Verwendung der :is() Funktion berechnet wird.
html
<b class="foo">
<i>Blue text</i>
</b>
&-Verschachtelungssyntax
css
#a, b {
& i {
color: blue;
}
}
.foo i {
color: red;
}
:is()-Syntax
css
: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 besitzt. Der &-Verschachtelungsselektor und die :is()-Pseudoklasse haben beide eine Spezifität von 1-0-0, obwohl der #a ID-Selektor nie verwendet wird.
Der .foo Klassenselektor hat eine Spezifität von 0-1-0. Dies ergibt eine Gesamtspezifität von 1-0-1 für & i und 0-1-1 für .foo i, was bedeutet, dass color: blue; gewinnt.