Logo
Startseite | PLUS Start | Shop | Mediadaten | Kontakt | Impressum | 4,549 Artikel Merker

Transparente PNGs im Internet Explorer 6


Anzeige

Früher war vieles besser: Beim Umsetzen eines Layouts in (X)HTML verzichteten Web-Entwickler und Designer, soweit es nur ging, auf den Einsatz von transparenten Grafiken im PNG-Format und nahmen somit die Einschränkungen bei der Gestaltung einer Webseite in Kauf. Der Verantwortliche für diesen Ausnahmezustand war sich keiner Schuld bewusst. Internet Explorer 6 und seine in der Versionsnummer jüngeren Brüder konnten und können bis dato keine transparenten PNGs fehlerfrei verarbeiten und darstellen.

Die augenblickliche Welt sieht ganz anders aus. Die modernen Browser, darunter auch der Platzhirsch Internet Explorer 7, sind in der Lage komplexe Layouts verbindlich darzustellen, auch wenn PNG-Bilder zum Bestandteil des entworfenen Designs werden. Auf dieser Grundlage entfaltet sich die Kreativität, gestalterische Freiheit nimmt ihren Lauf - elegante Designumsetzungen sind die blumigen Folgen.

Leider sind die älteren Versionen des Internet Explorer unter den Nicht-Power-Nutzern noch stark verbreitet und lassen so ungewollt stilvolle Webseiten „alt“ aussehen. Nur wegen der PNG-Grafiken mit einem Transparenzfaktor, die auf der Seite ihre Verwendung finden. Höchste Zeit also über einen effektiven Workaround für alle IE-Versionen kleiner 7 nachzudenken.

Screenshot
Dr. Web Logo als transparentes PNG im IE 6

Als Lösung kursieren im Internet unterschiedliche Ansätze, die mehr oder weniger wirkungsvoll und unterschiedlich schwer zu implementieren sind. Die einfachste Methode ist der Gebrauch einer sogenannten HTC-Datei, die im Inneren über einen leicht verständlichen JavaScript-Code verfügt und bei Verarbeitung mit Microsoft-internen Filterfunktionen hantiert. Die besagte Datei trägt einen vielversprechenden Namen iepngfix.htc und wird per Copy&Paste aus dem ZIP-Archiv entnommen, welches auf der Download-Seite des Fix-Entwicklers Angus Turnbull zur Verfügung steht. Somit wäre die erste und die schwierigste Maßnahme von insgesamt zwei abgehackt.

Im zweiten Schritt muss lediglich eine entsprechende CSS-Definition - alternativ inline im (X)HTML-Code oder im externen CSS-File - festgelegt werden, welche den nicht ganz zeitgemäßen Browser dazu bewegt, die im Hauptverzeichnis des Projektes abgelegte HTC-Datei bei der Formatierung zu berücksichtigen und anzuwenden. Und das geschieht nach folgendem simplen Muster:

PNG-Fix auf alle Elemente anwenden

 {
  behavior: url(iepngfix.htc);
}

PNG-Fix nur auf Inline- und im Div vorhandene Hintergrundgrafiken anwenden

      img, div {
  behavior: url(iepngfix.htc);
}

Wahlweise kann der Fix-Aufruf auch direkt in CSS-Klassen notiert werden und muss nicht unbedingt für alle grafische Objekte geltend gemacht werden (wie im letzten Code-Beispiel vorgeschlagen). Prima klappt die offerierte Lösung auch mit transparenten PNG-Bildern, die per StyleSheet als Hintergrund eines Bereichs deklariert sind. Doch Vorsicht: Soll diese Hintergrundgrafik mittels repeat-Eigenschaft vertikal und/oder horizontal wiederholt werden, so kommt es gar nicht zum gewünschten Effekt und das Bild erscheint nur ein einziges Mal. Bedauerlicherweise ein unschöner Nebeneffekt des Fixes.

Screenshot
Gleiches Logo mit eingespieltem PNG-Fix für IE 6

Unterm Schlussstrich ist der besprochene Ansatz eine simple Lösung, das anspruchsvolle Layout mit Alpha-PNGs auch auf älteren IE-Versionen schick (und durchsichtig) aussehen zu lassen. (tm)

Erstveröffentlichung am 10.09.2007

Verwandte Artikel

Bookmarken! Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • TwitThis
  • Hype
  • StumbleUpon
  • Facebook
  • Wikio DE
  • YahooMyWeb

10 Kommentare zu “Transparente PNGs im Internet Explorer 6”

  1. Marco3993.de schreibt am

    Danke sehr ;) läuft 1A ;)

  2. Frank Burek schreibt am

    Das "blank.gif" findet im Text keine Beachtung, ist aber wichtig, weil sonst über einer PNG (keine HG Grafik!) ein Platzhalter eingeblendet wird.

  3. Maria schreibt am

    Wie Frank Burek zuvor schon schrieb, wird bei mir im IE 6 das Symbol für eine fehlende Grafik angezeigt (rotes Kreuz). Außerdem wird ein Rahmen drumherum gelegt, den ich weder mit boder="0" im HTML-Code (direkt im img-Tag) noch in der Styles-Datei (an den verschiedensten Stellen) weg bekomme. Gibt es dafür eine Erklärung oder ein Work around?

    Hab das png alternativ nun als Hintergrundgrafik in einem div positioniert, wo es nun korrekt angezeigt wird.
    Werde mir diesen Lösungsansatz jedenfalls gut merken.

  4. Andre Lanius schreibt am

    Bei mir hatte es wunderbar geklappt ... danke!

  5. Papapetros schreibt am

    Bei mir auch!

  6. Picard schreibt am

    Kleine Korrektur:
    Background Grafiken können mithlife des beigelegten Javascripts "repeated" und ausgerichtet werden.

  7. Michael Janik schreibt am

    Leider kann ich mit dieser Lösung meine Bilder nicht mehr auf 100% Höhe skalieren. Oder weiß das jemand eine Lösung für.

Trackbacks

  1. TP: Neues Template, neues Problem - Seite 2 - TP Hilfe Forum -- Anleitung - Tutorial - Workshop...
  2. Wie man dem Internet Explorer 6 Herr wird | Emanuel Kluge
  3. Webstylerin // Webdesign & Chaos :: Transparente PNGs mit dem IE6

Meine Meinung

Bitte beachten Sie: Werbung und Spam sind unerwünscht und können eine Rechnung zur Folge haben. Woher kommen die Bilder neben den Kommentaren?