Thomas J.S.: CSS "Rangfolge" ?

Beitrag lesen

hallo,

Gibt es in CSS sowas wie eine offizielle Rangfolge ?

ja, deshalb wird es auch "cascading" style sheets genannt

Damit meine ich, dass ich in der externen Datei zb. "body" ohne Punkt davor definiere. Jetzt mache ich aber eine Seite deren body von dem der restlichen etwas abweicht.
Versteht das nun jeder Browser, wenn ich "<body class=...>" bzw. "<body style=...>" schreibe und zieht dann die zweite Definition der Standarddefiniton vor, oder gibt es bei dieser Reihenfolge keinen Standard auf den man sich verlassen kann ?

einfach gesagt, kannst du immer vom entfernsten und/oder unspezifischesten Wert zu am nähesten und/oder am spezifischesten Wert gehen.

"entfernung":
du hast in deiner externe css datei: body { background:black; } (1) in deiner html datei hast du im <style> body { background:red; } (2), und dann hast du <body style="background:blue"> (3).

1 wird vom 2 überschrieben und 2(und 1 auch) wird vom 3 überschrieben.

grad der spezifizierung:
in deiner css datei hast du stehen:
(1) div { color:red; }
(2) .blau { color:blue; }
(3) #abc { color:green; }

1 gilt für alle divs, hast du ein <div class="blau"> dann wird 1 von 2 überschrieben, hast du ein <div class="blau" id="abc">  oder <div id="abc">  dann wird 2 (und 1 auch) von 3 überschrieben.

jetzt kannst du natürlich noch beide möglichkeiten miteinander kombinieren.

PS: Falls es doch einen Standard gibt gehe ich mal davon aus, dass der auch für die restlichen Definitionen (font,table,...) gilt (?)

warum falls? natürlich gibt es dafür einen standard:
http://www.w3.org/TR/REC-CSS2/cascade.html#cascade