Opera berechnet em-Größe falsch

Michael_K

Mitglied
Hallo,

mit folgendem CSS will ich eine Box erzeugen, die, die Standardeinstellung der Schriftgröße auf 16 Pixel im Browser vorausgesetzt, genau 1000 Pixel breit ist:

Code:
body {
	margin: 0;
	padding: 0;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 0.80em;
}

#visual-portal-wrapper {
	margin: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	width: 78.125em;
}

Das machen alle Browser völlig korrekt - bis auf Opera. Der kommt auf ein Endergebnis von 1016 Pixeln.
Hat jemand eine Idee, warum das so ist, und was ich dagegen tun kann?

Grüße
Michael
 
Hi.
mit folgendem CSS will ich eine Box erzeugen, die, die Standardeinstellung der Schriftgröße auf 16 Pixel im Browser vorausgesetzt, genau 1000 Pixel breit ist:

Soviel zur Theorie. Und wenn im Browser des Seitenbesuchers die Schriftgröße nun anders eingestellt sein sollte?

Um bei mir im Opera (Schriftgröße hab ich für diesen Fall mal auf 16 justiert) auf das gewünschte Maß zu kommen, muß ich "76.9em" angeben.

Mit dieser Einstellung hingegen passt bei mir die Breite browserübergreifend:
CSS:
body {
        margin: 0;
        padding: 0;
        font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
        font-size: 1em;
}

#visual-portal-wrapper {
        margin: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        width: 62.5em;
}

mfg Maik
 
Soviel zur Theorie. Und wenn im Browser des Seitenbesuchers die Schriftgröße nun anders eingestellt sein sollte?
Dann wird der Wert entsprechend kleiner bzw. größer. Das ist mir durchaus bewusst und auch so von mir gewollt. ;)
Hintergrund der Sache ist, dass ich ein Layout, welches in festen Pixelwerten angegeben war, in em-Werte umschreiben musste. Für die Standardeinstellung von 16px sollte sich optisch nichts ändern, bei abweichenden Werten sollte sich das Layout dann entsprechend anpassen können.

Dass die Sache im Opera funktioniert, wenn ich in der body-Definition die Schriftgröße auf 1em setze, hatte ich ebenfalls schon rausgefunden. Mit 1em ist die Schrift aber für das Design zu groß, früher oder später muss ich die Größe also auf 0.8em setzen. Und nachdem Opera dann bei allen Tochterelementen wieder falsch berechnet hat, hätte es mir für die Problemlösung nichts gebracht.

Anyways. Ich weiß leider selber nicht genau wie, aber mit ein bisschen Herumspielen habe ich den Opera in die Knie gezwungen - er stellt jetzt ebenfalls alles richtig dar.
 
Ich weiß leider selber nicht genau wie, aber mit ein bisschen Herumspielen habe ich den Opera in die Knie gezwungen - er stellt jetzt ebenfalls alles richtig dar.
Wäre schön, wenn du deinen Lösungsweg nachvollziehen und hier für zukünftige Hilfesuchende veröffentlichen könntest.

mfg Maik
 
Habe mir die Sache gerade nochmal angeschaut - da gibt es leider keinen Lösungsweg nachzuvollziehen, weil Opera immer noch falsch berechnet. Nur macht er das eben konsequent bei allen Angaben, sodass es in meinem Fall keine Rolle spielt und quasi nicht auffällt.
Der Fehler wird wohl der selbe sein wie der, der hier angesprochen wurde. Nur dass es für den aktuellen Opera ja meines Wissens keine Möglichkeit mehr gibt, ihm ein eigenes Stylesheet unterzujubeln ...
 
Zurück