dedlfix: Warum "* html img"?

Beitrag lesen

Tach!

Durch das zweite Element erhöht sich die Spezifität, weswegen html img ein einfaches img überschreibt.
Diese Kombination ist aber in diesem speziellen Fall trotzdem vollkommen sinnfrei, da <img/> außerhalb von <html> nicht vorkommt, also html img immer greift.

"html irgendwas" greift immer, soweit richtig. Aber die Spezifität ist mit 0-0-0-2 höher als 0-0-0-1 bei einfachem "irgendwas". Genau das soll in der Form passieren, wenn man Eigenschaften überschreiben möchte und dies nicht durch einen gleichwertigen Selektor hinter den bereits vorhandenen Regeln für "irgendwas" notiert bekommt. Dies lässt sich manchmal nicht erreichen, wenn man keine grundlegenden Eingriffe in bestehende Systeme machen möchte und nur vorher Regeln hinzufügen kann.

Ebenso "sinnlos" ist #foo #bar, .foo #bar oder foo#bar, weil #bar allein bereits eindeutig genug ist. Auch hier erhöht sich durch die "überflüssigen" Selektoren die Spezifität und hat Einfluss darauf, welche Regel am Ende gewinnt.

dedlfix.