Der IE6 und das PNG Problem

Die Menschen unter euch, die sich mit Webdesign beschäftigen kennen sich das Problem. Man hat eine freigestellte Grafik und möchte diese auf einen Hintergrund setzten. Früher hat man dafür einfach ein GIF genommen. Das kann ja Transparenzen abspeichern. Dumm nur wenn man weiche Kanten braucht und der Hintergrund vielleicht nicht nur einfarbig Weiß, sondern vielleicht sogar ein Foto ist. Dann hat man nämlich bei GIFs so hässliche Ecken und Risse an den Kanten der Transparenz. Dafür gibt es PNGs mit 24Bit Auflösung. Die unterstützen nämlich gleich einen ganzen Alphakanal, der Vergleichbar mit dem Alpha aus Photoshop ist. Alphakanäle sind in der Lage weiche Verläufe beim Übergang in die Transparenz darzustellen. So kann man eine beliebig weiche Grafik auf Hintergründer jeder Art setzten (Ja – auch auf Verläufe liebe Web 2.0 Fuzzies). Da gibt es nur ein klitzekleine Problem: Alle aktuellen Browser, Also Opera, Safari, Firefox und IE7.0 können mit dem Alphakanal prima umgehen. Nur der doofe alte Internet Explorer 6.0 stellt statt der Transparenz einen hässlich hellblau-gräulichen Kasten rund um das PNG dar. Wäre ja nicht so schlimm, wenn der IE6.0 nicht nach wie vor der meist verbreitete Browser überhaupt wäre. Nachdem ich mich lange damit rumgeschlagen habe und mich in der Zwischenzeit auch schon damit abfinden musste, habe ich nun die perfekte Lösung für das Problem gefunden. Hier findet Ihr eine säuberliche Erklärung wie man den IE6 dazu bekommt PNG-Grafiken korrekt darzustellen. Alles was man dafür tun muss ist ein sehr kleine JavaScript in die Seite einzubinden, die die PNG-Files anzeigen soll. Mehr ist nicht zu tun. Unglaublich, aber war.

PNG Problem in IE6
Hier ein Beispiel um das Problem zu verdeutlichen (Ich habe das mit Photoshop simuliert, damit auch diejenigen unter euch, die nicht mit dem Internet Explorer 6 surfen, sehen wo das Problem liegt)

Links: das Logo als GIF Mitte: So stellt der IE6 ein PNG mit Alphakanal dar Rechts: Soll soll das Logo eigentlich vor dem Hintergrund erscheinen

Das ganze basiert auf einem Versuch von Microsoft das PNG Problem in den Griff zu bekommen. Die Lösung war es einen speziellen CSS-Befehl zu integireren, den nur der IE versteht. Der Befehl lautet filter:progid:DXImageTransform.Microsoft.AlphaImageLoader und sollte eigentlich in Klassen eingesetzt werden, die dann den jeweiligen PNGs zugewiesen werden sollten. Diese mühselige Code-getippe kann man sich mit dem JavaScript aber sparen, da es quasi diese Arbeit automatisch für jedes PNG-File übernimmt. Ich habe das Script schon bei einigen Projekten im Einsatz und bin fasziniert wie einfach und zuverlässig es seinen Zweck erfüllt. Hier noch einige weiterführende Infos zu Alphakanälen und dem Dateiformat PNG(Portable Network Graphic). Hier nochmal der Link zur JavaScript Lösung Und hier eine reine CSS-Lösung ohne das JavaScript (leider sehr umständlich, wie ich finde) Abschließend findet ihr hier die Dokumentation von Microsoft (MSDN) über den zugrunde liegenden AlphaImageLoader Filter

Schlagworte: , , ,

19 Kommentare zu „Der IE6 und das PNG Problem“

  1. Jan sagt:

    Also ich mag das in der mitte

  2. D's Däns Sensäischon sagt:

    Find ich auch suppi!

  3. Jan sagt:

    Bist du auf Drogen Dino?

  4. Detlef Party DJ Soest sagt:

    Ja logo Kleiner,

    POWER TO THE PEOPLE, Kannst Du schon deinen Namen tanzen?

    Detlef Zwitzers
    http://www.dzwitzers.de
    Gartenkamp 6, Soest – 02921/81507

    oder http://www.nrw-party-dj.de

  5. Jan sagt:

    Ja logo großer

  6. anja burger sagt:

    Jan was machsch Du hier?

  7. D Dänsesensation sagt:

    DANN TANZ!!!!

    Lass es raus!

  8. Atari RULEZ! sagt:

    Hallo hat hier jemand einen Atari zu verkaufen?

  9. Jan sagt:

    @anja: bloggen

    @dance sesascion: bin dabei es zu tun…. now

  10. Senfi aus Karlstadt sagt:

    Ne aber günstige Senfspender!

  11. Lule sagt:

    Liebe Kinder,
    jetzt ist man einmal für 5 Minuten nicht da und schon spielt ihr hier Damentennis mit Linkfetzen. NaNaNa

  12. meine Welt sagt:

    Habt ihr vielleicht den Film rettet die Weihnachtsganz auf DVD oder so?

    Die bei Sat1 haben sich nämlich nicht mehr gemeldet!

    Gruß und Kuss
    Pummelfee

  13. also zurück zum Logo.... sagt:

    Jan

  14. Reinhold M. aus Tirol sagt:

    Leute,

    Vögel sollte man nie unterschätzen:

    "Rudis allerbeste Freundin ist die Gans Henriette. Sein Großvater hatte ihm das kleine Gänseküken in die Hand gelegt, direkt nachdem es geschlüpft war – damit ist es auf Rudi geprägt. Henriette ist keine gewöhnliche Gans! Nicht nur, dass sie schwarze Füße hat, nein, sie versteht auch alles, was Rudi ihr sagt und hilft ihm sogar bei den Hausaufgaben."

    Übrigens sehr interessanter Artikel!
    http://www.shortnews.de/start.cfm?id=675952

  15. Logonator sagt:

    Klick den Link, Halligalli Ramba Zamba!

  16. Schneewante sagt:

    Rapannteee Rapannteee … Mist

  17. Ornionthologo (FH) sagt:

    Zum Thema Vögel

  18. Lule sagt:

    ^^^n

  19. wyk sagt:

    Das Logo rechts bitte. Ich mag Kühe!