Længlich: Browserkompatibilität von display:inline-block

Beitrag lesen

Chiáh-tàu iáh boë!

display:inline-block;
verspricht da schon bessere Resultate sofern der MSIE6 in die Tonne darf.

Halt Dich fest: IE6 kann das!
Er versteht display:inline-block; zwar nicht, nimmt es aber zum Anlaß, hasLayout auf true zu setzen. Bei Inline-Elementen bist Du damit schon am Ziel, denn Inline-Elemente mit hasLayout verhalten sich fast genau so wie die Inline-Block-Elemente laut Standard (v.a. akzeptieren sie width- und height-Angaben). Block-Elemente setzt Du einfach danach mit dem Star-HTML-Hack (oder im Extra-IE6-Stylesheet) auf display:inline;, wobei hasLayout komischerweise nicht auf false zurückgesetzt wird*. Ziel erreicht. :-)

Der Browser, der tatsächlich aussteigt, ist Firefox 2 - für den kenne ich auch keinen passenden Hack. Alle anderen verbreiteten (inclusive Firefox 3 und IE 7) verstehen display:inline-block; problemlos.

Viele Grüße vom Længlich

* Liegt vermutlich daran, daß display intern an der Stelle immer noch auf block steht. Da display:block; hasLayout nicht triggert, sieht IE6 wohl auch keinen Grund, es zurückzusetzen, wenn display sich ändert.

--
Mein aktueller Gruß ist:
Min Nam (gesprochen in Taiwan)