Für den Einsatz mit XML werden die Cascading Style Sheets ab Level 2 interessanter. Momentan ist die Unterstützung durch die Browser noch gering, aber dennoch wollen wir kurz auf die neuen Möglichkeiten eingehen.
Aus XML-Sicht fallen besonders die eingeschränkten Selektoren auf: Lediglich die Elementtypen ggfs. im Kontext ihrer Vorfahren anzugeben, ist nicht ausreichend. In CSS2 kann man darüberhinaus auch abfragen, welche Elemente benachbart sind. Folgendes Beispiel zeigt einen Absatz, der um einen Zentimeter eingerückt ist, falls er unmittelbar hinter einer Abbildung steht.
abbildung + absatz { text-indent: 1cm }
Auch der Zugriff auf Attributwerte ist ab Level 2 machbar:
kapitel[typ="vorwort"] { font-size: smaller } *[lang="en"] { display : none }
Hierdurch werden Kapitel, die als Vorwort gekennzeichnet sind (<kapitel typ="vorwort">), in einer kleineren Schrift dargestellt. Beliebige Elemente, deren lang-Attribut den Wert en (Englisch) besitzt, werden gar nicht angezeigt.
Neu ist auch das Hinzufügen von Inhalt mit Hilfe eines Style Sheets. So lassen sich nun Texte vor und hinter Elementen einfügen.
BODY:after { content: "Das Ende"; display: block; margin-top: 2em; text-align: center; }
Die obigen Anweisungen fügen die Worte Das Ende
am
Ende einer Web-Seite ein. Auf gleiche Weise lassen sich auch
automatische Nummerierungen einfügen.
kapitel abschnitt ueberschrift:before { content: counter(kapzaehler) "." counter(abszaehler) " "; counter-increment: abszaehler; }
Hier werden alle Abschnitt-Überschriften durch Voranstellen (before) der Kapitel- und Abschnittnummer ausgegeben.
An dieser Stelle beenden wir unseren CSS2-Exkurs, denn ob die Browser wirklich alles unterstützen (werden), was wir gezeigt haben, ist fraglich.