LX: Danke LX! ...Hintergrundbild dynamisch einbinden

Beitrag lesen

Guten Morgen!

Du hast den IE kritisch angesprochen. Gebe es denn da evtl. Probleme?!

Ich habe den IE nur angesprochen. Kritisch wird der von ganz alleine - Dein Problem betreffend insbesondere dadurch, dass er prozentualen Höhen und Breiten nur dann Beachtung schenkt, wenn er sich an einer festen Angabe orientieren kann, von anderen CSS-Standards ganz zu schweigen.

Aber nicht verzagen: es gibt Mittel und Wege, ihn trotzdem dazu zu bringen, ein Bild auf die Hintergrundgröße zu skalieren - das geht mit CSS und ein wenig JavaScript bspw. so:

* html #bgimg { width: expression(document.documentElement.clientWidth+'px'); height: expression(document.documentElement.clientHeight+'px'); }  
*+html #bgimg { width: expression(document.documentElement.clientWidth+'px'); height: expression(document.documentElement.clientHeight+'px'); }

Bei * html und *+html handelt es sich um sogenannte CSS-Hacks, mit denen ausschließlich der IE6 und IE7 (und IE8 im IE7-Modus, aber das ist eine andere Geschichte) etwas anfangen kann (da jeder standardkonforme Browser weiß, dass oberhalb des <html>-Tags bzw. daneben im DOM-Baum kein Element etwas verloren hat). Die expression()-Angaben sind eine standardwidrige Erweiterung von MicroSoft, die es ermöglichen, innerhalb des CSS bestimmte Werte mit JavaScript auszulesen.

Im IE6 besteht dabei eine konkrete Sicherheitslücke, da beliebige Scripte ausgeführt werden können - auch solche, die in Wirklichkeit Passwortdaten an ganz andere Seiten senden. Dennoch läßt sich die Technik auch mißbrauchen, um durchaus legale Wünsche umzusetzen.

Gruß, LX

--
RFC 1925, Satz 6: Es ist einfacher, ein Problem zu verschieben (...), als es zu lösen.