Hallo Gunnar Bittersmann,
:is() hat die Spezifität des höchsten darin aufgelisteten Selektors.
Man kann es wohl nicht genug wiederholen: Bei dieser Spezifität kommt es nicht darauf an, welcher der Selektoren im :is() verwendet wird. Die :is()-Spezifität ist statisch.
Gegeben sei dieses HTML
<style>
p.xx { color: green; }
</style>
...
<p class="xx" id="foo">FOO</p>
<p class="xx">FOO</p>
Mit #foo, p { color: red; }
im Stylesheet wird nur das erste p
Element rot.
Mit :is(#bar, p) { color: red; }
werden beide p
Elemente rot, obwohl weit und breit kein Element mit id="bar"
zu sehen ist und p.xx
eine höhere Spezifität (0-1-1) hat als p
(0-0-1). Wegen #bar
hat :is()
die Spezifität 1-0-0 und gewinnt.
Der Vollständigkeit halber: mit :where(#bar, p) { color: red; }
bleibt alles grün.
Rolf
--
sumpsi - posui - obstruxi
sumpsi - posui - obstruxi