CSS: Welche Regel geht vor?

Wenn man an Seiten arbeitet, die von anderen gecodet wurden, kann man manchmal sehr interessante Erfahrungen beim editieren von CSS-Regeln machen. Es gibt Arten ein CSS zu schreiben, die das nachträgliche Editieren der Seiten wahrlich zur Hölle machen. Will man nun aber nicht die komplette Struktur verändern, also die Site komplett neu schreiben, ist man manchmal zu drastischen Mitteln gezwungen.

Die Frage die sich aufdrängt: wenn zwei CSS-Regeln auf ein Element zutreffen, welche Regel zieht?

Beispiel aus dem CSS:

td {color: red;}
.test {color:blue;}
td.test {color:black;}

Beispiel aus dem HTML:

<td class="test" style="color:green">Welche Farbe habe ich nun?</td>

Antwort: Grün. In diesem Falle, denn das dem td zugeordnete style-Attribut überschreibt die anderen Regeln, es ist die speziellste Anweisung. Das mit dem “speziell” ist also sehr wichtig. Wenn wir das style-Attribut weglöschen:


<td class="test">Welche Farbe habe ich nun?</td>

… wird der Text nun schwarz, weil td.test gegenüber .test spezieller, schwerwiegender ist. Was überstimmt nun aber welche Regeln?

  • die speziellere Regel geht vor der unspezielleren Regel
  • im Code angewendete Styles überstimmen Regeln aus dem Stylesheet (sind aber meist unschön!)
  • CSS Klassen gehen vor Zuweisungen an HTML-Elemente
  • CSS Anweisungen die für mehrere Elemente gelten überstimmen solche, die nur für ein Element gelten
  • ID’s überstimmen Klassen

Auch nachzulesen bspw. hier. Der letzte Punkt in dieser Liste hat mir ein wenig zu schaffen gemacht, denn

CSS:

td {color: red;}
#test {color: blue;}
td.testen {color: black;}

HTML:

<div id="test">
<table>
<tr>
<td class="testen">Welche Farbe habe ich denn nun?</td>
</tr>
</table>
</div>

gibt schwarzen Text aus,

CSS:

td {color: red;}
#test td {color: blue;}
td.testen {color: black;}

macht uns den Text wieder blau. Zum Glück, wenn alles nicht hilft, kann man diese Regeln auch noch durchbrechen, mit der !important-Anweisung. Denn bspw.

td {color: red !important;}

macht alles wieder rot.

Bergzeitfahren

Wer dort oben ankommt und noch sprechen und laufen kann, hat meine Hochachtung und mein Mitgefühl.

Helden?

Ich erinnere mich, dass man noch vor Jahren darüber diskutierte, ob denn die Attentäter des 20. Juli 1944 überhaupt Helden gewesen seien, z.B. aufgrund derer nationalsozialistische Vergangenheit. Heute wird darüber kaum noch gesprochen, stattdessen nennt der Kanzler den 20. Juli einen “der wichtigsten Tage der neueren deutschen Geschichte.”

Ich persönlich halte bspw. Stauffenberg für weniger heldenhaft als die Geschwister Scholl oder die wenigen Bekannten und Unbekannten, die z.B. verfolgte Juden versteckt hielten. Denn während es dem ersteren um die “Rettung des deutschen Vaterlandes” und die Verhinderung des Todes von Soldaten ging, kämpften letztere gegen den Unrechtsstaat, die Verfolgung und die bestialische Realität der faschistischen Diktatur.

Es ist etwas anderes aus einer Überzeugung heraus zu handeln und diese bis in den Tod zu vertreten. Zuerst mitzulaufen und dann, beeindruckt durch die eigene Verwundung im Krieg, die Seite zu wechseln, halte ich für wesentlich weniger heldenhaft.

Aber ob nun Heldentum oder nicht, Tatsache bleibt, dass es Deutschland nicht geschafft hat, aus eigener Kraft die Diktatur zu brechen. Man erinnere sich: keine Demonstrationen, keine Guerilla, keine Volksbewegung gab es. Vielleicht muss man deswegen einen mißlungenen Putsch derartig hochstilisieren, weil es sonst nichts Vorzeigbares gibt? Den wenigen die wirklich Widerstand leisteten wird das nicht gerecht. Einige, für die es keine regelmäßigen Kranzniederlegungen und Fernsehdokumentationen gibt, seien hier beispielsweise erwähnt: Carlo Mierendorff, Martin Niemöller, Julius Leber, Hans und Hilde Coppi.

Wie gesagt, noch vor Jahren hat man darüber noch diskutiert. Aber Geschichte ändert sich ja bekanntlich.

The Markup and Style Handbook

Dan Cederholm präsentiert sein Buch Web Standards Solutions: The Markup and Style Handbook, von dem ich jetzt einfach mal annehmen muss, dass es ein sinnvolles Werk für Einsteiger im Bereich standardisiertes Webdesign darstellt. Nachprüfen kann ich das gerade nicht, wer hat in unseren Zeiten schon Geld für Bücher? Vor allem, wenn sich ein solches Buch auf dem Weg aus den USA nach Deutschland derartig verteuert…

Nichtsdestotrotzalledem, es gibt die TOC online und ebenfalls ein Probekapitel als PDF. Schaut halt mal ‘rein.