CSS-Sonderbehandlung für Internet Explorer 5.x: Tan-Hack und Tantek-Hack
Nachdem wir im letzten Beitrag erfahren haben, wie wir Internet Explorer 6 und 7 mit CSS unterscheiden können, beschäftigen wir uns im dritten Teil der Reihe Browserweichen & CSS-Hacks mit einer noch früheren Browsergeneration.
Box-Modell-Fehler im IE 5.x
Der Box-Modell-Fehler (Box Model Bug) tritt bei IE 5.x unter Windows auf. Innenabstand (padding) und Rahmenstärke (border-width) werden nicht zur Gesamtbreite addiert. Das führt leicht zu unschönen Entgleisungen des CSS-Layouts, wenn dieser Fehler nicht abgefangen wird.
Mit den folgenden CSS-Tricks und Sonderbehandlungen können Sie Box-Modell-Fehler umgehen:
Der Tan-Hack oder Modified Simplified Box Model Hack
Wie Sie sehen können, handelt es sich beim Tan-Hack um eine Erweiterung der Stern-HTML-Browserweiche. Der CSS-Selektor * html wird nur von IE 6 und kleiner verstanden.
Um eine Eigenschaft zu definieren, die nur vom Internet Explorer 6 verstanden wird, notieren wir einfach ein Escape-Zeichen (Backslash) innerhalb der Eigenschaft.
Achtung: Verwenden Sie das Escape-Zeichen nicht vor den Buchstaben A-F. Dort würde es als hexadezimale Angabe interpretiert und nicht korrekt ausgeführt.
Der Tantek-Hack oder Box Model Hack
Der Tantek-Hack nutzt einen Fehler in älteren IE-Versionen unter Windows, welche die geschweifte Klammer in der Deklaration für voice-family als Ende der CSS-Regel interpretieren. Alle anderen Browser übergehen diese unsinnige aber valide Angabe und führen das nachfolgende CSS aus.
Ausführliche Informationen zum Tantek oder Box Model Hack finden auf der Seite des Entdeckers Tantek Çelik oder hier auch auf Deutsch.
Zur Übersicht der Reihe “Browserweichen & CSS-Hacks” >>
Weitere Beiträge, die dich interessieren könnten:
Kommentare
Hi,
ich möchte die Allgemeinheit einmal fragen, warum es immer heißt: Box Modell - Fehler des IE? Wieso ist die Interpretation des Internet Explorers ein Fehler? M. E. ist es genau umgekehrt. Das Ganze basiert doch auf einer Empfehlung vom W3C die meinen, man sollte die Breite des content und nicht die gesamte Breite messen. Das ist aber Blödsinn. Wenn ich irgendetwas ausmesse, egal ob im “richtigen” Leben, oder “onscreeen” ist Breite für mich immer die Gesamtheit, also daß, was für mein Auge sichtbar ist. Oder etwa nicht?
Stell Dir vor, Du hättest ein Regal, das in eine bestimmte Nische an der Wand passen soll: was mißt Du, die GESAMTE Breite - oder den Innenbereich?
Daher macht hier nicht der IE einen Fehler, sondern das Consortium hat Blödsinn verzapft. Sind eben auch nur Menschen. Leider ist man es so sehr gewohnt, auf dem IE herumzuhacken, daß solche “Kleinigkeiten” gar nicht mehr auffallen.
Eine Firefox-Userin.
Liebe Ruana,
ich finde, du hast recht. Im richtigen Leben würden wir wohl alle die Gesamtbreite messen.
Leider geht es bei Standards aber mehr um Konsens als um den gesunden Menschenverstand. Das wirkt ziemlich bürokratisch, ist aber notwendig, um eine gemeinsame Arbeitsgrundlage zu schaffen.
Da der W3C-Standard vorgibt, dass innen gemessen wird und sich der IE als einziger Browser nicht daran hält, liegt er in diesem Fall halt grob daneben. In meinen Augen ist da Kritik durchaus angebracht.
Dass man inzwischen schon daran gewöhnt ist “auf dem IE herumzuhacken”, spricht für sich, denke ich…
Mehr zum Box-Modell-Fehler gibt es übrigens auch hier:
http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug
Es werden auch Autoren erwähnt, die deine Meinung teilen und für mehr gesunden Menschenverstand plädieren.




[…] Tan-Hack und Tantek-Hack gegen Box-Modell-Fehler […]