Webdesign mit (X)HTML und CSS

Ein Kurs für Einsteiger

IE und hasLayout

Der Internet Explorer <= 7 hat eine eigene Pseudo-Eigenschaft »hasLayout«. Diese Eigenschaft kann nicht separat zugewiesen werden, sondern wird durch bestimmte CSS-Eigenschaften bedingt; so hat ein Element z.B. »Layout«, sobald width oder height einen Wert ungleich auto aufweisen.

Ausführlicher Artikel zum »hasLayout«-Phänomen: On having Layout (englisch) – Über hasLayout (deutsche Übersetzung).

»HasLayout« ruft manche Fehler des IE/Win erst hervor, häufiger noch können Fehler durch Hinzugabe von »Layout« beseitigt werden. Eine Möglichkeit, um Elementen »Layout« zu geben ist der sog. Holly Hack:

  1. /* Layout for IE Win \*/
  2. * html #box {
  3. height:1%;
  4. }
  5. /* */

Der Holly-Hack ist für IE-Versionen bis einschließlich Version 6 geeignet, da diese Versionen die height-Eigenschaft fehlerhaft interpretieren (wie min-height) und Elemente trotz height-Angabe mit dem Inhalt erweitern. Der IE7 interpretiert height korrekt und darf diese Angabe daher nicht sehen. Er bekommt ersatzweise z.B. min-height:0; (→CSS-Hack für IE7), was nebenwirkungsfrei in anderen Browsern ist und daher auch ohne Hack eingesetzt werden kann.