Sortierung nach CSS-Spezifität

8

Mein Hauptziel ist es, einen CSS-Style-Block basierend auf der Spezifität neu zu ordnen. Ich hatte vorher geholfen von SO und ich schaffte es, diese Funktion zu erzeugen. Siehe Wichtig .

Hier ist ein Beispiel:

%Vor%

Das oben genannte funktioniert großartig, bis ich auf dieses CSS stieß:

%Vor%

Dies wird neu geordnet:

%Vor%

Allerdings wendet der Browser das CSS nicht so an.

Ich denke, dass meine Spezifitätsfunktion die Wichtigkeit der Ordnung von CSS vermisst, anstatt auf der Selektorspezifität zu basieren? Ist das wahr?

Aktualisieren

Ich denke, was ich tun sollte, ist in meiner Vergleichsfunktion, ich sollte immer zusätzliche Punkte von sagen 10 hinzufügen, da die Spezifität nicht nur auf Selektoren basiert, sondern auch auf der Reihenfolge des Selektors. So etwas wie das:

%Vor%

Wie sieht das aus und wie ermittle ich die Anzahl der Punkte in diesem Fall?

    
Abs 23.05.2012, 09:18
quelle

1 Antwort

4

Das Problem sollte verschwinden, wenn Sie

serialisieren %Vor%

als separate Regeln, als ob sie in folgender Weise geschrieben wären:

%Vor%

Die Semantik ist ein wenig verwirrend , aber im Grunde beurteilen Sie eine ganze Erklärung basierend auf unabhängigen Selektoren, die zu demselben Regelsatz zusammengefasst wurden.

Zu Ihrem Update: Spezifität wird nicht von der Selektor-Reihenfolge beeinflusst , dh die Regeln unten haben die gleiche Spezifität. Die letzte Regel wird blau vorangestellt, es sei denn, Sie ordnen die Regeln neu Rendering in rot :

%Vor%     
o.v. 24.05.2012, 05:25
quelle