Hallo Mike,
»» Naja, die Schriftgröße von <hX> im Default-Stylesheet richtet sich offensichtlich nur nach der Standard-Schriftgröße im Browser, die üblicherweise größer als 12px ist. Machst du nun die Schriftgröße für body absichtlich kleiner, als sie von Natur aus ist, ohne die Schriftgrößen für die hX ebenfalls anzupassen, dann ändern sich die Größenverhältnisse natürlich.
Genau, so war es bisher. Der IE8 allerdings richtet sich nach dem was ich im Body festlege, also <h5>immer etwas kleiner, wie Thomas schon schreibt, als der normale Fliesstext. Gut das zeigt eben, dass IE sich wirklich an W3C hält auch wenn der Sinn der dortigen Festlegung zu <h5> nicht plausibel erscheint.
Also, ich glaube Dir jetzt schon, dass in älteren MS IE (z.B. 5/6)
bei einem Autoren-Stylesheet mit der einzigen Angabe
body { font-size:12px; }
die Schriftgrösse einer H5 etwa gleich gross war wie die von P,
und dass sie jetzt im MS IE 8 kleiner ist.
<REINE SPEKULATION>
Es könnte ja sein, dass der alte MS IE (5/6) für die Einstellung
"Schriftgrad: mittel" ein Default-Stylesheet mit "absoluten"
Schriftgrössen*) in Pixel hatte, z.B. sowas:
body { font-size:14px; }
h5 { font-size:12px; }
h6 { font-size:11px; }
Dann wäre bei obigem Beispiel normaler Text 12px (wegen der
Angabe im Autoren-Stylesheet), und H5 ebenfalls 12px (wegen
der Angabe im Default-Stylesheet), sowie H6 = 11px (dito).
Und es könnte sein, dass der MS IE 8 jetzt ein neues
Default-Stylesheet hat, welches sich näher am Vorschlag
des W3C bewegt und die Schriftgrössen relativ definiert, z.B.
body { font-size:100%; }
h5 { font-size:83% }
h6 { font-size:75%; }
Wenn jetzt im Autoren-Stylesheet steht, dass body 12px sei,
dann wird konsequenterweise H5 = 0.83*12 = 9.96px und
H6 = 0.75*12 = 9px.
</REINE SPEKULATION>
Das wäre plausibel und würde die Unterschiede erklären.
(Einen Screenshot musst Du mir nicht mehr präsentieren,
es sei denn, Dir werden im genannten http://de.selfhtml.org/html/text/anzeige/h1_6.htm@title=SelfHTML-Beispiel,
welches ja kein CSS hat, die H5 und H6 grösser dargestellt als
der Fliesstext. _Das_ hätte ich nicht geglaubt ohne Screenshot.) ;-)
Wie verschiedentlich erwähnt, ist die einzige Möglichkeit,
(einigermassen) die Kontrolle über die Schriftgrössen zu haben,
dass man diese explizit im CSS festlegt. Das bedeutet: Wenn man
einmal damit anfängt, an den Schriftgrössen "herumzuschrauben",
kann es ratsam sein, sie für alle HTML-Elemente, die man
verwendet, zu definieren, da es sonst zu unvorhergesehenen
"Konflikten" mit dem Default-Stylesheet des Browsers kommen kann.
Ein anderer Ansatz wäre es, punkto Schriftgrösse gar nichts
zu definieren, und zu hoffen, dass die Browser-Defaultwerte in
etwa passen. (So mache ich es, wenn ich Zeit sparen will.)
Ich vermute, dass Leute sich die Mühe gemacht haben, die
Default-Stylesheets der verschiedenen MS IE herauszufinden.
(Es wäre ein Wunder, wenn Microsoft sie veröffentlichte.)
Und ich gehe davon aus, dass die Default-Stylesheets von
Firefox & Co. öffentlich dokumentiert sind.
Vielleicht kann ja noch jemand ein paar Links dazu beisteuern,
ich mag gerade nicht suchen... ;-)
Freundliche Grüsse
Thomas
*) Jaja, ich weiss, dass in der CSS 2.1 Spec. die Pixel zu den
"relativen" Längeneinheiten gezählt werden. Es folgen dort auch
lange Erläuterungen zu Monitoren, Laserdruckern, Armlängen u.s.w. ;-)
Aber wenn es darum geht, ob die armen Benutzer mit MS IE <=6
die Schriftgrösse anpassen können, muss man eben unterscheiden
zwischen "absoluten" Schriftgrössen wie px oder pt, die fix bleiben,
und den "relativen" Schriftgrössen wie em oder %, die sich anpassen,
wenn der Benutzer die Einstellung unter Ansicht -> Schriftgrad ändert.
Weitere (z.T. sehr alte) Lektüre zum Thema gibt es in der dciwam-FAQ:
http://dciwam.de/faq/gute-websites/richtige-schriftgroesse
http://dciwam.de/faq/gute-websites/einheit-pt