Internet Explorer 4 Hack
Bei der Entwicklung einer Webseite hatte ich ein sehr interessantes Phänomen. Die Seite lief in allen (von mir getesteten) Browsern einwandfrei. Im Anschluß dran hatte ich noch schön Kommentare eingefügt - und IE 4 hat auf einmal nicht mehr mitgespielt. Nach einigem Herumprobieren bin ich auf folgenden "Schuldigen" gekommen:
1 /******
2 Layout
3 *****/
Alle Styles die danach kamen wurden komplett ignoriert. Hab dazu auch mal eine sehr stark vereinfachte Testseite zusammengebaut:
TestseiteGetestet hab ich es auf IE 4, 5.01, 5.5, 6, Opera (Version?) und Firefox 0.9
Netscape 4 und IE 3 ignorieren die Höhenangabe für div's scheinbar komplett und zeigt deswegen nichts an.
1 /* ****
2 Layout
3 *** */
Funktioniert hingegen wieder einwandfrei (also mit einem Leerzeichen nach dem ersten bzw. vor dem letzten (Kommentar-) Sternchen.
Nach ein wenig Herumprobieren habe ich auch noch den Counter-Hack herausgefunden, also das Aufheben des Fehlers. So lassen sich einzelne CSS-Teile ausschließen:
Hier der Beispiel (X)HTML Code:
1 <div class="test1">...</div>
2 <div class="test2">...</div>
3 <div class="test3">...</div>
4 <div class="test4">...</div>
Und das dazu passende CSS:
1 div { height:50px; }
2
3 .test1{ background-color: red; }
4
5 /*********/
6 .test2 { background-color: green; }
7 /* ***/
8
9 .test3 { background-color: blue; }
10
11 .test4
12 {
13 background-color: yellow;
14 /*******/
15 background-color: #333;
16 /* ***/
17 }
Die Regel .test2 wird genauso ignoriert wie die Hintergrundfarbe #333 (es bleibt gelb).
Damit das ganze auch nen Namen bekommt nenne ich den Hack hiermit
"Starcomment-Hack" ;-)