CSS (Cascading Style Sheets)
Mit CSS legt man das Aussehen von HTML-
Vorteile
- CSS kann man in eine Datei auslagern. Dadurch sieht die ganze Website einheitlich aus und es wird auch noch Ladezeit gespart.
- Etwaige Änderungen am Layout braucht man nur an einer einzigen Stelle vorzunehmen.
- Man kann allgemeine Regeln definieren und zugleich für spezielle Fälle Ausnahmen vorsehen. Damit kann man viel Redundanz sparen.
- CSS ist heute Standard. Uralte HTML-
Elemente wie <font>
sollte man nicht mehr verwenden. Sie werden zukünftig evtl. von Browsern oder anderen Programmen nicht mehr unterstützt.
Schwierigkeiten
- Die Vererbungsregeln sind ziemlich komplex. In der Praxis kann ich oft nur durch Probieren herausfinden, wieso ein Stil (nicht) angewandt wird.
- Man kann nicht sagen: "Foto-
Beschriftungen sollen genauso groß sein wie kleiner Text." Es kann nicht eine Klasse von einer anderen importieren; man kann nur die Eigenschaften, die in beiden Klassen gleich sein sollen, gleichzeitig definieren. Aber ich will nicht alle Klassen in einer einzigen riesigen Datei haben. Deswegen muss ich einige redundante Wiederholungen in Kauf nehmen. - Ich bin davon abgekommen, so zu arbeiten, als müsste alles änderbar sein, ohne die HTML-
Dateien in die Hand zu nehmen. Da müsste man ja theoretisch auch für die Elemente, die derzeit gleich aussehen sollen, lauter verschiedene Klassen verwenden, denn vielleicht will man das ja in Zukunft so ändern. Stildefinitionen, die nur auf einer einzigen Webseite vorkommen, nehme ich der Einfachheit halber nicht unbedingt in das Website- CSS auf. Außerdem zeigt meine Erfahrung, dass größere Änderungen wie die Anpassung einer Website an andere Kundenwünsche meistens auch mit HTML- Änderungen einhergehen, weil man andere Inhalte oder eine ganz andere Anordnung haben will, was mit CSS- Änderungen alleine prinzipiell nicht machbar ist. - Eine Änderung, vor allem in großen CSS, kann zu unerwarteten Ergebnissen irgendwo auf der Website führen. Manche Web-
Entwickler verwenden CSS daher lieber auf eine eher primitive Art und Weise (mit wenig Vererbung und viel Redundanz).
Tipps
- In HTML kannst du einem Element mehrere Klassen (durch Leerzeichen getrennt) zuweisen.[1] Von dieser Möglichkeit solltest du aber nur sparsam Gebrauch machen, wenn du das Design deiner Website zentral ändern können willst.
- Mit Conditional Comments kannst du unterschiedliche CSS für Internet-
Explorer- Versionen und andere Browser verwenden. Diese Möglichkeit nutze ich auf meiner Website intensiv, um Probleme, die nur in bestimmten Browsern auftreten, auszubügeln. - Mit CSS kann man ein dynamisches Menü erstellen, das auch ohne Javascript funktioniert.
Weiter
Weblinks
- CSS 2.1 Specification (englisch)
- CSS-
Validator – Zum Überprüfen von CSS-Definitionen - Angreifer können Liste besuchter Webseiten auslesen, Heise Newsticker, 2.3.2007
- CSS tests and experiments (englisch) – Musterbeispiele und Standardlösungen, die in allen gängigen Browsern funktionieren
Quellen
[1] | World Wide Web Consortium: HTML 4.01 Specification, Index of Attributes, Attribut "class" |