Aloha ;)
Dass der Kombinator „>“ meist weniger Elemente selektiert als „ “ hat ja nichts damit zu tun, in welcher Reihenfolge die Deklarationen angewendet werden sollen.
Doch, imho schon. Schließlich ist das Kriterium die Spezifität der Deklaration. Und der Kombinator ">" selektiert zwar nur meist weniger Elemente als " ", aber nie mehr. Damit ist schon gegeben, dass Selektoren, die mit ">" kombiniert werden, spezifischer sind als welche mit " ".
Definition:
Eine Selektorfunktion f ist dann spezifischer als eine Selektorfunktion g, wenn bei gegebener, beliebiger Elementmenge A immer gilt: [latex]f(A) \subseteq f(B)[/latex], aber nie [latex]f(B) \subset f(B)[/latex]
Quelle: Rainer Findung
Eine Gleichheit tritt allenfalls bei bestimmten Mengen A auf, die Relation "spezifisch" ist nach dieser Definition antisymmetrisch, oder genauer, eine Halbordnung der Menge aller deklarierten CSS-Regeln a.k.a. Selektorfunktionen ;)
Ich glaube aber zu wissen, wo mein Denkfehler liegt. Oder in meinen Augen: Die Inkonsequenz der Spec. Scheinbar ist die Spezifität ein Kriterium der Wichtigkeit, das nur und ausschließlich auf Selektoren angewandt wird.
Ein Selektor ist dabei li
oder label
.
Etwas wie
li>label
ist wohl kein Selektor, sondern das sind zwei Selektoren, die durch einen Kombinator verknüpft werden. Sozusagen eine Selektorenkombination (obwohl diese dem Sprachsinn nach de facto wieder ein Selektor ist). Offenbar sagt die Sprachdefinition von CSS: Selektorenkombination ≠ Selektor. Und deshalb wird das Spezifitätskriterium hier wohl nicht angewandt.
Das ist meiner geschätzten Meinung nach allerdings weder sinnvoll noch intuitiv ;)
Grüße,
RIDER
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[