Ingo Turski: Bastellösung funktioniert. Welche Browser noch?

Beitrag lesen

Hi,

<!--[if IE]>
    <style type="text/css">
      .meterstab {left:25px;}
      .pageinfo {left:15px;}
    </style
  <![endif]-->

das ist schon ok so. Allerdings würde ich Dir empfehlen, als Inhalt des style-Bereichs über z.B. @import url(ie.css); eine externe CSS-Datei anzugeben.

Anders als Cheatah befürworte ich das Ansprechen aller IEs in conditional comments. Was habe ich davon, wenn ich hier "[if lte IE 6]" angebe? Nur Ärger, denn ich muß - sofern der IE 7 die Korrektur(en) ebenfalls benötigt - in den HTML-Code (schlimmstenfalls sämtlicher Dateien) eingreifen.

Wenn ich nun aber schlicht über "[if IE]" eine externe CSS-Datei angebe, brauche ich im Fall eines Falles vermutlich nur diese zu ändern. Vermutlich deshalb, weil hierzu ein neuer CSS-Hack erforderlich wäre, der nur ältere IEs anspricht. Aber die Wahrscheinlichkeit, daß der IE 7 dieselben Korrekturen benötigt oder ansonsten über einen neuen Hack ansprechbar wäre, ist mMn viel höher, als daß er CSS 2.1 vollständig und korrekt umsetzen würde.

Zu berücksichtigen ist aber auch der Doctype. Wird der IE hierüber (oder durch einen xml-Prolog) in den quirks-mode versetzt, dürfte sich auch der IE 8 noch komplett abwärtskompatibel verhalten, so daß das CSS überhaupt nicht angepaßt werden muß oder eine globale Änderung einfach Zeit hat.

Zum Thema einfache CSS-Hacks: mir sind gerade die - zumindest für wichtigere Dinge - zu unsicher. Ein IE 7 könnte durchaus dieselben CSS-Korrekturen benötigen, aber die Browserweiche wirkungslos werden. Bestes Beispiel: der Tantek-Hack. Wer damit das Box-Modell korrigiert und den IE in den standards-compliant mode versetzt hat, hatte Glück gehabt. Wer etwas anderes korrigiert oder den quirks mode forciert hat, hatte Pech!
Ich tippe mal darauf, daß der IE 7 den Child-Selektor unterstützen wird, aber sonst immer noch vieles falsch umsetzt. Wer den verwendet hat...

freundliche Grüße
Ingo