Deklarationen aus diesen drei Quellen können gleiche Elemente betreffen. Welche der konkurrierenden Deklarationen angewendet werden, hängt davon ab, welches Gewicht einer Deklaration beigemessen wird. Der Ursprung der Style Sheets beeinflusst die Gewichtung in der Weise, dass den Regeln des Autors das höchste Gewicht zukommt, danach folgen die des Lesers vor den Einstellungen des Browsers.
Das Gewicht einzelner Deklarationen kann mit dem Schlüsselwort "!important" (engl.: wichtig) erhöht werden. Eine Style Deklaration des Lesers mit "!important" z.B. überschreibt eine einfache Deklaration des Autors. Geben jedoch sowohl Autor als auch Leser eine Deklaration mit "!important" an, hat wiederum die Style Deklaration des Autors Vorrang.
Mittels der @import Regel können Style Sheets aus externen Dateien in das aktuelle Style Sheet eingebunden werden. Bei importierten Style Sheets ist bezüglich der Ermittlung der maßgeblichen Deklaration Folgendes zu beachten:
Ein Browser kann andere, nicht von Style Sheets herrührende Formatierungsanweisungen berücksichtigen. In HTML z.B. könnten die Elemente FONT oder CENTER aber auch Attribute wie align oder bgcolor eine solche Rolle innehaben. In solchen Fällen muss der Browser diese Anweisungen in die entsprechenden Style Regeln übersetzen und diesen die Spezifizität 0 (s.u.) zuweisen. Die Regeln sollen außerdem so behandelt werden, als ob sie am Anfang des Style Sheet des Autors stehen.
<H1 id="ueb1">Überschrift</H1>und das dazu gehörende Style Sheet die Regeln
H1 {color: red} #ueb1 {color: green}Beide Regeln sind im Prinzip anwendbar, die erste weil sie für alle H1 Elemente gilt, die zweite weil der ID - Selektor zu diesem Element passt. Da ein Browser aber nun einmal den Text eines Elements nicht gleichzeitig in grüner und roter Farbe ausgeben kann, muss eine Entscheidung zugunsten einer Regel getroffen werden. Der Konflikt wird dadurch gelöst, dass die Regel zur Anwendung kommt, welche den spezielleren Selektor enthält. In dem vorliegenden Fall ist das die Regel mit dem ID Selektor, also die zweite Regel. Eine ID darf innerhalb eines Dokuments nur einmal vergeben werden, während beliebig viele H1 Elemente erlaubt sind. Der ID - Selektor ist deshalb der speziellere.
S = a * fa+ b * fb+ c * fc mit fb > cmax * fc und fa > (bmax * fb + cmax * fc)
Folgende Beispiele sollen den Sachverhalt verdeutlichen (fc=1, cmax=9, fb=10, bmax=9, fa=100):Selektoren | a * 100 | b * 10 | c * 1 | Spezifität |
* | 0 | 0 | 0 | 0 |
EM | 0 | 0 | 1 | 1 |
DIV + UL | 0 | 0 | 2 | 2 |
.cl1 | 0 | 10 | 0 | 10 |
DIV P.cl2 | 0 | 10 | 2 | 12 |
DIV OL A.cl3 | 0 | 10 | 3 | 13 |
DIV OL A.cl3:first-child | 0 | 20 | 3 | 23 |
#ab1 | 100 | 0 | 0 | 100 |
In HTML Dokumenten können Style Sheet Eigenschaften auch inline, also mittels des Attributs style vergeben werden. Solche Angaben werden als Style Regeln mit ID - Selektor betrachtet, die hinter allen nicht inline Style Regeln stehen.