Webdesign mit (X)HTML und CSS

Ein Kurs für Einsteiger

CSS-Hacks

Eine beliebte Methode, dem IE separate CSS-Informationen zukommen zu lassen, sind sog. CSS-Hacks. Dabei werden Fehler in der CSS-Interpretation ausgenutzt, um bestimmte Browser gezielt anzusprechen.

Der Star-HTML-Hack

  1. * html #wrap { background:red;}

Das html-Element als Wurzelelement kann nie von einem weiteren Element eingeschlossen werden. Standardkonforme Browser ignorieren daher den Selektor * html.

Internet Explorer bis einschließlich Version 6 liest diesen Selektor ein, die zugehörigen CSS-Angaben sind nur für diese Browser sichtbar.

CSS-Hack für IE 7 – Star-Plus-HTML-Hack

Der IE 7 im Standards-Mode liest den Star-HTML-Hack nicht mehr ein. Mit einer Modifikation lässt er sich ebenfalls gezielt ansprechen:

  1. *+html #wrap { background:red;}

Mit dem Nachbarselektor würde ein Element angesprochen, das sich in der Dokumenthierarchie »neben« dem html-Element befände – was ebenfalls nicht möglich ist. Standardkonforme Browsern ignorieren deshalb diesen Selektor.

IE 6 und älter kennt den Nachbarselektor nicht und liest die Angabe ebenfalls nicht ein.

Da das »Funktionieren« der CSS-Hacks von Browserfehlern abhängt, ist das Risiko groß, dass unbeabsichtigt ein falscher Browser auf diese Angaben reagiert. [Beim Star-plus-HTML-Hack für IE 7 kann es z.B. zu Problemen mit bestimmten opera-Versionen kommen.]

Die zuverlässigste Methode, Angaben wirklich nur für IEs sichtbar zu machen, sind Conditional Comments.