Gunnar Bittersmann: Link soll verändert werden

Beitrag lesen

@@Heinz:

nuqneH

"ID-Selektoren haben eine höhere Spezifität als Attribut-Selektoren. In HTML beispielsweise ist der Selektor #p123 spezifischer als [ID=p123, was die Kaskade betrifft."]

Was bedeutet das?

Das bedeutet, dass bei

#p123 { background: red }  
[id="p123"] { background: green }

das Element* mit der ID "p123" roten Hintergrund bekommt, nicht grünen. Weil der ID-Selektor speziFISCHer ist als der Attributselektor.

Hingegen würden bei

.foo { background: red }  
[class="foo"] { background: green }

alle Elemente* der Klasse "foo" grünen Hintergrund bekommen, weil der Klassenselektor lediglich eine andere Schreibweise für den class-Attributselektor ist und bei mehreren gleich spezifischen Selektoren der letztere gewinnt.

(Zumindest aus CSS-Sicht gibt es keinen Unterschied. AFAIK haben Browser Klassenselektoren besonders implementiert. '.foo' sollte performanter sein als '[class="foo"]'.)

Qapla'

* Der Unterschied zwischen Einzahl und Mehrzahl ist nicht willkürlich.

--
„Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)