CSS, PNG, IE7 => Problem

dummix

Lt. Junior Grade
Registriert
Juni 2007
Beiträge
454
Tag Leute,
ich brauche eure Hilfe in Sachen CSS-Entwicklung beim IE7 hinsichtlich transparenter Hintergrund-PNGs. Auf der Seite eines Schulprojekts habe ich relativ viele transparente PNGs eingebunden. Der IE7 sollte diese korrekt darstellen, jedoch verhält sich der Browser (bei mir) mehr als merkwürdig, mal ist ein Bild zu sehen, mal nicht. Es wäre nett, wenn ihr euch das genauer anschauen könnt, da ich mit meinem Latein am Ende bin. Die komplette Seite könnte ihr als ZIP herunterladen. Ich hoffe, ihr wisst Lösungsmöglichkeiten.

MfG, Philipp
 
Zuletzt bearbeitet:
Ich denke nicht, dass es daran liegt, aber du hast eine falsche Kodierung angeben.
Du hast sie also ISO abgespeichert, aber UTF in die Dateien geschrieben. Da kommts logischerweise zu Konflikten. Das die das PNG Problem ursachen, denke ich zwar nicht, aber man sollte halt erstmal alle offentlichen Fehler beseitigen, bevor man sich da tiefer reindenkt.
 
Ach, sie sind immer noch im ASCII Satz gespeichert? Ich dachte, ich hätte die richtigen Einstellungen vorgenommen.
Kann es sein, dass du in deinem Browser eine feste Kodierung eingestellt hast?
 
Opera stellt bei mir sämtliche Umlaute falsch dar (falls dir das weiterhilft :D)...
 
Ihr habt recht, der HTTP header gibt ASCII aus (laut W3C Validator), im entsprechenden meta-Element ist jedoch utf8 angegeben. Wie kann ich das ändern? Selbst wenn ich meinem Editor (Quanta+) als feste Zeichenkodierung utf8 wähle und die Dateien demenstprechend speichere, bleibt im HTTP header die Information, dass ASCII verwendet werden soll.

Leider scheint AddCarset (in einer .htaccess) bei diesem kostenlosen Webhoster nur zu einem 500-Fehler zu führen. Denkt euch einfach, die index.html wäre eine index.php und über der DTD würde folgender php-Code stehen ;)
PHP:
<?php
	header("content-type: text/html; charset=utf-8");
?>
 
Zuletzt bearbeitet:
>> Ihr habt recht, der HTTP header gibt ASCII aus (laut W3C Validator), im entsprechenden meta-Element ist jedoch utf8 angegeben.

Das ist ja gerade das Problem, dass im meta-Element UTF angegeben ist.
Die einfachste Lösung wäre einfach, statt UTF in die HTML-Dateien ISO zu schreiben. Es gibt sowieso keinen Grund UTF zu benutzen, wenn man eine rein deutschsprachige Seite hat und keine UTF-Zeichen benötigt.
Die Alternative wäre, alle Dateien als UTF abzuspeichern, was eigentlich keinem Editor Probleme bereiten sollte...
 
Ich möchte jedoch, dass die Zeichen in UTF-8 kodiert werden, die Gründe sind unwichtig. Wird die Seite auf einem richtigen Server hochgeladen, werde ich schon alles nötige im Apachen oder via .htaccess oder PHP konfigurieren.

Aber dieses Problem ist nichtig. Viel wichtiger für mich ist die fehlerhafte/unnormale Darstellung im IE7. Die Dateien könnt ihr euch runterladen und damit nach Belieben hantieren.
 
Gib div.top, div.body und div.footer einfach die Eigenschaft overflow: hidden und es funktioniert im MSIE7 bestens.

Aber nochmal wegen der Kodierung.

>> Wird die Seite auf einem richtigen Server hochgeladen, werde ich schon alles nötige im Apachen oder via .htaccess oder PHP konfigurieren.

Da gibt es absolut nichts zu konfigurieren. Du musst deine Dateien auch als UTF abspeichern. Auch durch Konfigurationen in der htaccess werden aus den ISO-Dateien keine UTF-Dateien. So ist das nunmal. Du *musst* die Dateien unter UTF abspeichern und keine Konfigurierung vornehmen.
 
Danke für deinen Lösungsvorschlag. Hast du es schon im IE7 getestet (bin gerade nicht bei Windows)?

Zur Kodierung ;)

Die Dateien sind ganz sicher im UTF-8 kodiert, jedoch nutzt HTTP bei diesem Server die falsche Kodierung, und zwar ASCII (ISO 8859-15). Diese Anweisung ist wahrscheinlich im Apachen des Hosters festgelegt. Ein Indiz dafür ist, dass ich diese feste Kodierung nicht mit AddCharset unter .htaccess umgehen konnte. Zum Glück kann PHP diese HTTP header Anweisung überschreiben.
Schau dir doch http://mascher.ohost.de/birkenhain/index.html und http://mascher.ohost.de/birkenhain/index.php an. Bei der index.html ist im HTTP header der ASCII-Satz angegeben (standardmäßig vom Server), bei der index.php kann ich das mit meiner eigenen header-Anweisung mittels PHP umgehen, sodass die Seite in UTF-8 kodiert wird.
 
Das wusste ich ja nicht. Ich dachte aufgrund von Post #5, du würdest es nicht hinbekommen, die Dateien in Quanta Plus unter UTF abzuspeichern. ;)

Die Lösung ist im MSIE7 getestet. Sollte derselbe Fehler auch im MSIE5.0, MSIE5.5 und MSIE6.0 auftreten, dann musst du den drei genannten Block-Elementen neben overflow: hidden auch noch die Eigenschaft height: 1% geben.
 
Zurück
Oben