HTML - Grundlagen - Darstellungsmodi
1. Quirks-Modus
Diesen könnte man auch als "Anfänger"- oder "drücken-wir-mal-beide-Augen-zu"-Modus bezeichnen. In den schaltet sich der Browser,
wenn man keine oder eine unvollständige Doctype-Defintion (ohne URL zur DTD) angibt. Dabei werden Darstellungsfehler älterer Browser
simuliert/emuliert, damit auch nicht-standardkonforme Seiten vernünftig angezeigt werden. Dies gilt zum Beispiel für die
proprietären Attribute des Internet Explores (leftmargin, topmargin) oder des Netscape Navigators (marginheight,
marginwidth). Ich hoffe, das mit den Beispielen stimmt so. Ist doch sehr lange her, dass ich damit gearbeitet habe.
Jedenfalls kann man in diesem Modus sehr schlampig arbeiten, da Fehler freundlicherweise toleriert und korrigiert werden. Aber obacht! Hier fangen die Browser an, zu raten, wie eine Seite aussehen könnte!
Internet Explorer
In den Versionen 5.0 und 5.5 für PC hat unser "Lieblingsbrowser" leider einen üblen CSS-Bug im Box-Modell. Dieser wurde zwar in der Version 6.0 behoben, aber zu diesem Zeitpunkt gab es schon unzählige Seiten, die auf diesem Fehler beruhten. Also haben sich die Programmierer von Microsoft gedacht, nehmen wir mal Rücksicht auf all die vielen Leute und sorgen dafür, dass es keinem auffällt.
Dabei nutzten sie aus, dass in den meisten alten Auftritten entweder gar keine DOCTYPE-Definition oder HTML 4.01 Transitional (ohne URL zur DTD!) angegeben wurde. In diesem Fall werden die Seiten wieder mit dem fehlerhaften Box-Modell dargestellt. Zu Zeiten, als der Internet Explorer einen Marktanteil von 95% hatte, konnte man damit noch ganz gut leben. Da aber heutzutage viele Anwender auf Alternativen wie Firefox, Safari oder Opera setzen, muss man leider sagen:
"Houston, wir haben ein Problem" [Quelle: Tom Hanks, Apollo 13]
Allerdings hat der Internet Explorer selbst in der Version 6 noch etliche Darstellungsprobleme und Bugs, so dass es auf diesen einen auch nicht mehr ankommt. In der Version 7 wurden zwar etliche der Fehler beseitigt, allerdings sind einige geblieben und wohl auch welche hinzugekommen. Trotzdem gibt es Mittel und Wege, um seine Seiten Crossbrowser-kompatibel zu entwickeln. Dazu kommen wir später.
Ein Hinweis
Wie ich schon sagte, schaltet sich unser Lieblingsbrowser auch dann in den Quirks-Modus, wenn man korrekterweise bei XHTML mit einem
<?xml version="1.0" encoding="irgendwas"?> beginnt.
2. Standard-Modus
Hierbei versuchen die Browser HTML-Seiten so weit wie möglich standardkonform anzuzeigen. Fehler werden nicht mehr toleriert und man ist angehalten, sauber zu arbeiten. Das funktioniert im Großen und Ganzen auch recht gut.
3. Auswahl
Und welche Doctype-Defintion soll man nun nehmen? Jetzt werden zwar wieder einige selbsternannte HTML/CSS-Gurus laut herumschreien, und dies behaupten, und das behaupten, und dies erzählen, und das erzählen.
Erstaunlicherweise habe ich aber die Erfahrung gemacht, dass die Internetauftritte dieser Leute in den meisten Fällen ziemlich bescheiden aussehen. Die haben gut reden und können laut rumquaken, denen sitzen auch keine Designer oder anspruchsvolle Kunden im Nacken. Das entscheidende Problem bei der ganzen Sache ist schlichtweg das Layout. Je komplexer es ist, desto höher ist auch die Wahrscheinlichkeit, dass der ein oder andere Browser rumzickt.
4. Die strict-Varianten von HTML 4.01 und XHTML 1.0
Sie wären eigentlich die Ideallösung, wenn es da nicht eine Sache gäbe. Irgendjemand war wohl der Meinung, dass man
dem User alle Entscheidungen selbst überlassen soll. Diese eigentlich gute Idee wurde aber durch eine Vorschrift ad absurdum
geführt, die meiner Meinung nach an der Praxis völlig vorbei geht. Bei Links ist die Option target="_blank"
untersagt, also wo ein HTML-Dokument in einem neuen Fenster geöffnet wird.
Nun, bei all den Leuten, die mit modernen Browsern wie Firefox, Safari, Opera oder dem Internet Explorer 7/8 arbeiten, ist das so genannte "tabbed-browsing" kein Thema mehr. Denen ist es schnurz, ob da nun ein Link in einem neuen Fenster geöffnet wird oder nicht. Die entscheiden selber darüber. Aber was ist mit all den armen Menschen, die noch den Internet Explorer 6 benutzen. Bei denen kann man nicht davon ausgehen, dass sie über das entsprechende Knowhow verfügen. Oder auf der Firma einen Admin haben, der endlich mal eine aktuelle Version einspielt.
5. Empfehlung
Das ist ein wenig schwer. Lasst aber definitiv die Finger von HTML 4 Transitional. Das sollte man heutzutage auf gar keinen Fall mehr
benutzen. Ob man nun HTML 4 oder XHTML in der Variante Strict nimmt, ist eigentlich lattens. Dafür sind die Unterschiede
zu gering. Auf XHTML 1.0 Transitional sollte man dann zugreifen, wenn man unbedingt das schon erwähnte Attribut target="_blank"
benötigt. Allerdings gibt es noch ein paar weitere Details zu beachten, aber dazu komme ich jetzt.