molily: em - was is das?

Beitrag lesen

Hallo,

h1 { font-size:1.8em; }

Bei einer solchen Angabe sollte aber <html> oder <body> schon eine Größe zugewiesen erhalten haben. Denn ansonsten wäre <h1> ja fast doppelt so groß wie es ohnehin schon ist.

Das »wie es ohnehin schon ist« wird aber nicht beachtet. Die relative Schriftgrößenangabe bezieht sich auf die Schriftgröße des Elternelements. Das heißt, dass h1 {font-size:1em;} im Opera die Größe bewirkt, die der Standardtext hat. Es bedeutet nicht die Größe einer h1-Überschrift, wie sie unter Preferences->Fonts und Co. eingestellt ist bzw. im Browserstylesheet fest eingebaut ist. Oder habe ich dich missverstanden?

In Opera in Standard-Konfiguration entspräche deine Angabe somit etwa 52px.

<html>
<head>
<style type="text/css">
h1 {font-size:1em;}
h1,p {font-weight:normal; margin:0;}
</style>
</head>
<body>
<h1>ÜÖÄXMµpy</h1>
<p>ÜÖÄXMµpy</p>
</body>
</html>

Beide Texte sollten gleich groß sein. Ganz gleich, welche Größe der Opera für Überschriften standardmäßig vorsieht und ganz gleich, welche Größe für h1-Überschriften in den Einstellungen gewählt wurde. Relevant ist alleine, welche Größe für den Standardtext eingestellt ist.

Dementsprechend würde h1 {font-size:1.8em;} die 1,8-fache Standardschriftgröße bedeuten, wenn in Elementen darüber keine (von 1em abweichende) Angabe gemacht wurde. Wenn ich also 18px für den Standardtext festlege (das entspricht hier in 7.5p1 der Einstellung 16pt), dann ist die Überschrift im obigen Dokument bei font-size:1.8em für h1 32 Pixel groß.

Um 52 Pixel zu erreichen, müsste ich eine Standardtextgröße von ca. 29 Pixeln eingestellt haben...

Mathias