Webdesign mit CSS, HTML und Javascript
Stil mit {stil}
Okt 2008
Echtes XHTML
Wenn Webdesigner ihre Dokumente als XHTML-Seiten anlegen, entstehen fast immer Zwitter, die vorgeben, XHTML-Dokumente zu sein, tatsächlich aber HTML-Seiten mit ein paar exotischen Schrägstrichen am Ende von Tags wie <input … /> oder <img … /> sind.
Würden wir unsere Dokumente tatsächlich als XHTML-Dokumente ausliefern, würde Internet Explorer gar nichts mehr anzeigen, während Firefox ganz korrekt beim ersten kleinen Fehler im Markup die Anzeige des Dokuments einstellen und nur noch eine Fehlermeldung rendern würde.

- Nicht ganz so kompromisslos: Safari 3 hebt zwar einen dicken roten Zeigerfinger, zeigt dann aber noch vom XHTML-Dokument, was vor dem Fehler kommt.
Safari wird die Fehlermeldung ebenfalls ausgeben, aber das Dokument bis zum ersten Fehler rendern.
Auswirkungen auf CSS-Eigenschaften in XHTML-Dokumenten
CSS-Eigenschaften, die auf das BODY-Element notiert werden, funktionierten nicht mehr für den gesamten Viewport in XHTML. Am besten erkennt man das, wenn eine Hintergrundfarbe für das Dokument definiert ist: Diese Seite hat jetzt einen weißen Rahmen. In XHTML muss auch dem HTML-Element eine CSS-Eigenschaft zugewiesen werden, damit die ganze Seite abgedeckt ist.

- XHTML-Dokument, als <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" /> ausgeliefert: Safari zeigt einen weißen Rahmen, wo das body-Element mit einem grauen Hintergrund notiert ist.
Auswirkungen auf Javascript
Scripte mit document.write() funktionieren nicht mehr. Ian Hickson erklärt, warum das so ist.
Die Navigation hier allerdings auf der rechten Seite zieht sich aber wahrscheinlich aufgrund einer Unstimmigkeit im accordion-widget für jQuery nicht wie vorgesehen zusammen. Alle anderen Scripte funktionieren tadellos auch in dieser XHTML-Seite, die mit application/xhtml+xml; notiert ist.
XHTML-Dokumente mit application/xhtml+xml und SSI (Server Side Includes)
Große Teile dieser Webseiten werden mittels SSI aus festen Vorlagen oder Templates ausgeliefert. So ist es möglich, z.B. die Navigation und den Fuß des Dokuments aus ein und derselben Datei zu beziehen – ähnlich wie beiden inzwischen verfehmten Frames. Anders als beim Frame-Konstrukt werden die Include-Dateien aber bereits auf dem Server in die HTML-Datei eingesetzt.
So sind SSI eine intuitive Methode, um Seiten mit einem statischen Anteil auszuliefern und z.B. die Navigation in allen Seiten in einer einzigen Datei konsistent und schnell zu ändern.
Auf XHTML-Seiten, die mit application/xhtml+xml; ausgeliefert werden, muss der Server auf diese exotische Aufgabe vorbereitet werden, dann funktionieren Server Side Includes in »echten« XHTML-Dokumenten genauso wie in unseren HTML-Dokumenten.
AddType application/xhtml+xml .xhtml AddHandler server-parsed .xhtml
Dann klappt's auch wieder wie gewohnt mit dem Server Side Include
<!--#include virtual="Footer.inc" -->