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.

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




5. Januar 2008 um 23:40 Uhr
Also ich mag das in der mitte
5. Januar 2008 um 23:41 Uhr
Find ich auch suppi!
5. Januar 2008 um 23:42 Uhr
Bist du auf Drogen Dino?
5. Januar 2008 um 23:43 Uhr
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. Januar 2008 um 23:45 Uhr
Ja logo großer
5. Januar 2008 um 23:48 Uhr
Jan was machsch Du hier?
5. Januar 2008 um 23:48 Uhr
DANN TANZ!!!!
Lass es raus!
5. Januar 2008 um 23:50 Uhr
Hallo hat hier jemand einen Atari zu verkaufen?
5. Januar 2008 um 23:51 Uhr
@anja: bloggen
@dance sesascion: bin dabei es zu tun…. now
5. Januar 2008 um 23:52 Uhr
Ne aber günstige Senfspender!
5. Januar 2008 um 23:53 Uhr
Liebe Kinder,
jetzt ist man einmal für 5 Minuten nicht da und schon spielt ihr hier Damentennis mit Linkfetzen. NaNaNa
5. Januar 2008 um 23:55 Uhr
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
5. Januar 2008 um 23:55 Uhr
Jan
5. Januar 2008 um 23:56 Uhr
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
5. Januar 2008 um 23:59 Uhr
Klick den Link, Halligalli Ramba Zamba!
6. Januar 2008 um 00:01 Uhr
Rapannteee Rapannteee … Mist
6. Januar 2008 um 00:02 Uhr
Zum Thema Vögel
6. Januar 2008 um 00:04 Uhr
^^^n
10. Februar 2008 um 11:23 Uhr
Das Logo rechts bitte. Ich mag Kühe!