Lücken bei PNG-Hintergrundbild im IE
-
Wenn ich ein Hintergrundbild wiederholt darstellen will:
<html> <style type="text/css"> body { background-image: url(image.png); background-repeat: repeat; } </style> </html>
erscheint es im Internet Explorer 8 nicht nahtlos, sondern mit schwarzen Lücken zwischen jedem Bild. Das Problem tritt auch auf, wenn ich direkt HTML schreibe:
<html> <body background="image.png"> </body> </html>
Im Firefox besteht das Problem nicht. Wenn ich ein JPG-Bild verwende, geht ebenfalls alles perfekt. Ist das einer dieser üblen IE-Formatbugs, oder woran könnte das liegen?
-
PNGs sind immer ein Problem im IE.
Warum brauchst du ein PNG? Hast du Transparenzen da drinnen?
-
Der IE kann keine Transparenz bei PNG darstellen und generell - wie bereits angesprochen - ist der IE grottenschlecht, was die Kompatibilitaet zu PNG Dateien angeht. Meine Empfehlung: Bei Transparenzen GIF, ohne Transparenzen JPG.
-
heini schrieb:
Der IE kann keine Transparenz bei PNG darstellen und generell - wie bereits angesprochen - ist der IE grottenschlecht, was die Kompatibilitaet zu PNG Dateien angeht. Meine Empfehlung: Bei Transparenzen GIF, ohne Transparenzen JPG.
Wenn es nur immer so einfach wäre
Leider haben GIF keine wirklich große Farbtiefe.Für IE nur PNG-8 nehmen und http://www.twinhelix.com/css/iepngfix/
Aber für Hintergründe keine PNGs nehmen -> http://stevelove.org/2009/07/10/png-background-repeat-bug-in-internet-explorer-7-and-8/
-
Gut, das hilft bei Notfaellen. Aber ich bin der Meinung, eine Webseite sollte sich nicht nach einem Browser richten, sondern nach den Standards -- sowie sich auch die Browser nach den Standards richten sollen. Hinzu kommt: Warum braucht man denn unbedingt Transparenz? Ist es wirklich notwendig oder kann man nicht einfach die gegebene Hintergrundfarbe im Bild mit verwenden? Ich bin hier der Meinung, dass zu viele Designer einfach nur faul sind und aus purer Bequemlichkeit Transparenz setzen, wo sie eigentlich gar nicht notwendig ist.
Aber ich denke, hier geht es eigtl. nicht um Transparenz, sondern einfach um eine falsche Darstellung des IE von einem PNG-Bild als Hintergrund. Ich empfehle daher nach wie vor JPG zu verwenden, an Stelle von PNG.
-
Danke. Nein, für den Hintergrund brauche ich kein PNG. War nur etwas am ausprobieren, und bin dann darüber gestolpert und hab mich gewundert, ob ich etwas falsch mache.
Ansonsten gehen PNGs aber bisher gut, wenn man sie als normale Bilder einfügt - auch mit Transparenz. Gibt es sonstige Dinge, die ich für Vordergrundbilder beachten muss?
-
Martin762 schrieb:
Ansonsten gehen PNGs aber bisher gut, wenn man sie als normale Bilder einfügt - auch mit Transparenz. Gibt es sonstige Dinge, die ich für Vordergrundbilder beachten muss?
Keine PNG-24 sondern nur PNG-8 verwenden. Dazu einen PNG fix für den IE (wie zB den von mir verlinkten) und es passt Hintergrund mit repeat geht aber nicht mit PNG. Nur Hintergrund ohne repeat.
-
Als Hintergrund nehme ich jetzt so oder so JPGs. Für normale Vordergrundbilder habe ich aber PNGs mit Bittiefe 32, und die scheinen im IE 8 gut zu funktionieren. Und ich weiss nicht, ob sich IE 6 und älter zu unterstützen lohnt...
Jedenfalls vielen Dank für die Hinweise!
-
Im IE funktionieren meiner Erfahrung nach alle PNG-Derivate, solange du halt keine Transzparenz verwendest. Von daher spricht nichts gegen PGN-24 bei "normalen" Bildern ohne genutzten Alphakanal.
-
Bei mir funktionieren sogar 32-Bit-PNGs mit Transparenz, halt nur nicht als Hintergrund. Der Alpha-Kanal ist für mich der ausschlaggebende Grund überhaupt PNGs zu nehmen...
-
árn[y]ék schrieb:
Im IE funktionieren meiner Erfahrung nach alle PNG-Derivate, solange du halt keine Transzparenz verwendest. Von daher spricht nichts gegen PGN-24 bei "normalen" Bildern ohne genutzten Alphakanal.
Zumindest ab IE8 würd ich dem ausnahmslos zustimmen
-
ab ie7 unterstütz der ie auch die transparenz in PNG Bildern.
Wer noch den IE6 verwendet ist selbst schuld, bzw. die Firmen...
-
abie7 schrieb:
ab ie7 unterstütz der ie auch die transparenz in PNG Bildern.
Wer noch den IE6 verwendet ist selbst schuld, bzw. die Firmen...Es ist natuerlich sehr einfach, dem Anwender die Schuld in die Schuhe zu schieben. Tatsaechlich ist alleine der Hersteller, hier Microsoft, schuld. Hilft dir aber als Anbieter einer Webpraesenz in dem Moment aber auch nicht weiter, wenn ein potenzieller Kunde deine Seite betrachtet und erstmal von der subjektiv empfundenen Amateurhaftigkeit abgeschreckt wird. Also: Lieber optimieren. Die Investition lohnt sich.
-
Ich stimme dir zu, bis vor einem Jahr, wo viele Firmen noch IE6 benutzten, sollte man sicherlich seine Seite auch für diesen Browser optimieren.
Aber nach diesem Artikel hier:
http://newsticker.sueddeutsche.de/list/id/1121214
werde ich mich nun auch vom IE6 abwenden. Die Zeit dort zu investieren ist es mir nicht Wert.
Zudem ich mitbekomme, das jetzt immer mehr Firmen, die sehr lange auf IE6 geharrt haben, jetzt auf IE8 gewechselt haben.Gruß