CSS Struktur
3.1 Das zentrale Stylesheet & der IE
Das Konzept von YAML basiert auf dem Baukastenprinzip. Die Stylesheets sind nach Funktion (Positionierung der Layoutelemente, Formatierung der Inhalte usw.) in mehrere separate Bausteine (Dateien) aufgeteilt. Das fertige Layout setzt sich aus mehreren dieser Bausteine zusammen. Diese Trennung nach Funktionen erleichtert die Bearbeitung und verbessert die Übersichtlichkeit.
Für jedes YAML-Layout existiert im Verzeichnis css ein zentrales Stylesheet (oder wie Jens Grochtdreis meinte: "Die Mutter aller Stylesheets"), welches alle für das Layout benötigten Bausteine einbindet.
Schauen wir uns ein solches zentrales Stylsheet einmal näher an. Als Beispiel dient wieder die Datei example.html, die das zentrale Stylesheet css/layout_3col_vlines.css verwendet.
<head>
...
<link href="./css/layout_3col_vlines.css" rel="stylesheet" type="text/css"/>
...
</head>
Innerhalb dieses zentralen Stylesheets werden die für das jeweilige Layout benötigten CSS-Bausteine mit der @import Regel eingebunden.
@import url(main/base.css);
@import url(modifications/basemod.css);
@import url(navigation/nav_slidingdoor.css);
@import url(main/content.css);
@import url(print/print_010.css);
Bei der Datei main/base.css handelt es sich um den zweiten Grundbaustein des Basis-Layouts. Dieses sowie die Funktionen der anderen Stylesheets wird in den folgenden Abschnitten dieses Kapitels ausführlich erläutert.
Im Anschluss an die Einbindung des zentralen Stylesheets befindet sich ein so genannter Conditional Comment.
<head>
...
<!--[if lte IE 6]>
<link href="css/explorer/iehacks_vlines.css" rel="stylesheet" type="text/css" />
<![endif]-->
</head>
Dies ist ein spezielle Kommentar, welcher ausschließlich vom Internet Explorer verstanden und ausgewertet wird. Er ermöglicht es, nur dem Internet Explorer ein weiteres speziell auf das jeweilige Layout angepasstes Stylesheet explorer/iehacks_vlines.css zu übergeben, welches den dritten Grundbaustein des Basis-Layouts beinhaltet. Näheres zu dessen Funktion erfahren Sie im Abschnitt 3.4: Hilfestellung für den Internet Explorer. Für alle anderen Browser ist dies hingegen ein normaler HTML-Kommentar, daher ignorieren sie den Inhalt.
3.2 IE 5/Mac & Netscape 4
Der Internet Explorer 5 für Macintosh und der Netscape Browser in der Version 4 haben eine Sonderstellung in der Unterstützung durch YAML.
Die Einbindung der einzelnen CSS-Bausteine erfolgt, wie nebenstehend erläutert, über ein zentrales Stylesheet, in welchem alle für das Layout erforderlichen Bausteine über die @import-Regel eingebunden werden.
Des weiteren werden innerhalb der Stylesheet-Dateien alle Eigenschaften medienspezifisch über die @media-Regel deklariert.
Sowohl der Internet Explorer 5/Mac als auch der Netscape-Browser der Version 4 können mindestens eine der beiden Regeln nicht interpretieren und werden dadurch automatisch von sämtlichen CSS-Formatierungen ausgeschlossen. Die Inhalte der XHTML-Dateien werden daher unformatiert angezeigt. Weiterhin hat insbesondere der Netscape-Browser massive Probleme bei der Darstellung von CSS.
Die beiden Browser werden von YAML in der Weise unterstützt, dass sie bewusst von der fehlerhaften Interpretation der Stilangaben ausgeschlossen werden. Die Inhalte bleiben damit vollständig nutzbar, werden jedoch lediglich im dem vom Browser vorgegebenen Standarddesign angezeigt, ähnlich wie das auch in Textbrowsern (z.B. Lynx) der Fall ist.
Kurz: Ja, Netscape 4 und IE5/Mac werden berücksichtigt, auch Nutzer dieser älteren Browser werden nicht von den Inhalten ausgeschlossen. In diesen beiden Browsern sehen die Seiten nur anders aus. Das ist alles.