• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

IE9 falsche Größe eines Div mit Arial Schrift

Tomcat 12345

Neues Mitglied
Hallo liebe Kollegen,

Ein ganz simpler Quelltext führt zu einem Darstellungsfehler im IE 9. Ich habe ein Screenshot angehängt, schaut man sich die Darstellung im IE an und vergleicht mit Fox und Safari, dann ist im IE das Div 1 Pixel dünner und dafür steht der obere Pixel vom Á über dem Div, ragt also hinaus. Wäre ein Element drüber, würde es in dieses Element hinein ragen.

Drückt man im IE F12 und stellt den Dokumentmodus auf IE 8 um, dann ist der Spuk vorbei. Es verschwindet außerdem manchmal, wenn die Schriftgröße geändert wird oder z.B. auf Verdana gestellt ist. Es kommt also von der Schrift, dass Div übernimmt die Größe der Schrift nicht richtig. Ich denke nicht, dass es vom Anti Aliasing kommt da das ´über dem A tatsächlich 2 Pixel groß sein muss.

Kann man irgend was dagegen machen, außer zuzuschauen?

Anbei der Quelltext:
HTML:
<!DOCTYPE html>
<html>
<head>

</head>
<body>

   <div style="font-size: 13px; font-family: Arial; background-color: Fuchsia; width: 150px;">Á ÄÖÜ gg ---------------</div>        

</body>
</html>

Hier das Bild:
iefehler.jpg

Ach ja, lässt man das Á weg, ist das Div immer noch ein Px kleiner als das im Fox und Safari, das Á dient also nur zur Veranschaulichung.

Nachtrag:
Nimmt man anstelle des Div ein Span, passiert genau das gleiche.
 
Zuletzt bearbeitet:
Werbung:
Also ich hab mal auf das DIV noch ein "line-height: 1;" angewandt und das bewirkt erstmal das es im Chrome und im IE fast gleich aussieht - evtl. ein Pixel unterschied (auch im Chrome schauen nun die Striche über das DIV). So gesehen kannst du line-height ja auf sagen wir 20px setzen. Was auch geht ist dem DIV einfach noch ein "padding: 1px;" zu geben, dann sind die Buchstaben auch in beiden Browsern innerhalb des DIVs.
Das Pixelperfekt hinzubekommen über mehrere Browser hinweg ist eh so eine Sache.

Generell würde ich noch eine reset.css empfehlen, die erst mal die Standardwerte für alle Browser gleich setzt.
Ich nehme z. B. immer die hier:
https://docs.google.com/open?id=0B6zIpML5mhf6TXlUU0FVdmdZMkE
 
Ja klar kann man das mit nem Padding im IE beheben, aber das ist pfuscherei. Dieser Fehler setzt sich in meinem Projekt über mehrere Divs fort und am Ende sind es nicht nur 1, sondern 10-20 Pixel unterschied.

Es kommt noch das Problem hinzu, dass die Schrift nicht immer gleich groß ist in allen Browsern, was man so weit ich weiß nicht ändern kann.

Aber das hier ist ja ein richtiger Fehler, das Div (bzw. bei Span das gleiche) ist kleiner als sein Inhalt, obwohl gar keine Größenangabe gemacht ist und es von selbst groß genug werden müsste.

Leider gibt es keine feste Schriftgröße oder Schriftart für diesen Bereich, das ist Usersache und deswegen kann ich es auch nicht mit irgend welchen workarounds einfach "festschrauben". Es handelt sich also um ein Template, deswegen ist das besonders nervig.
 
Werbung:
Ich hab das mit dem line-height jetzt mal genauer probiert. Wie Du sagst, stellt man es auf 1, ist es in allen Browsern gleich, aber dafür auch gleich falsch, das unterste Pixel von einem g ragt neben dem Á auch noch raus.

Entweder ich stell es auf eine fest px größe, dann sieht es in allen Browsern gleich aus, passt sich aber nicht mehr an die Schriftgröße an (die ja nicht immer gleich ist), oder ich lass es weg, dann ist es eben überall ungleich und teilweise auch zu klein :(
 
Zurück
Oben