Hallo,
Ich gehe also über document.documentElement.currentStyle.fontSize, in etwa wie auf http://www.svendtofte.com/code/max_width_in_ie/ beschrieben. Das ist im IE 6 standardmäßig »12pt«. 1em ist also 12pt.
Für den Fall, dass das missverständlich klang: Das Script geht nicht von einer bestimmten Größe aus. Dort könnte auch 10pt oder 16pt drinstehen und es würde trotzdem funktionieren. Aber du hast Recht, ...
Das dürfte allerdings den Haken haben, daß es nur bei Standardeinstellung funktioniert - ungetestet.
... es geht dem Script nicht darum, zu messen, wieviel 1em unter Berücksichtigung aller wirkenden font-size-Regeln wirklich ist bei einem bestimmten Element im Dokument, das max-width erhalten soll.
Wer schlecht sieht und im IE die Eingabehilfen gefunden hat und hier die Schriftgradangaben ignorieren läßt und die Schriftgröße über ein User-CSS anpaßt, bekommt bei meiner empirischen Methode zumindest die zur Schriftgröße des Testelements passende max-width.
In dem Fall schaltet sich das Script bewusst selbst aus, da bleibt einem nichts anderes als die konkrete Messung übrig. Das Script sollte lediglich demonstrieren, wie man mit JavaScript auf die Änderung der Schriftgröße über das Menü Ansicht > Schriftgröße reagieren kann.
Dummerweise werden dann die übrigen Schriftgrößen ja auch ignoriert, so daß die max-width nur dann passend ist, wenn im Testelement dieselbe Schriftgröße ist wie im übrigen Dokument (bei meiner genannten seite des Inhaltsbereiches).
Hm, interessanter Punkt, den ich nicht bedacht hatte, den werde ich mal weiter untersuchen.
Ich glaube allerdings nicht recht, dass ein solches User-CSS überhaupt funktionieren würde. Wenn sich jemand eine signifikant abweichende Schriftgröße darin festlegt, so ist es letztlich Unsinn, nicht gleichzeitig die Dimensionen von Elementen sowie deren Anordnung (float, position) außer Kraft zu setzen. Accessibility-Stylesheets sorgen daher meist auch für eine linearisierte Darstellung.
Ist schon übel, daß schlecht sehende IE-User zu solch rabiaten Mitteln greifen müssen, um die üblichen "px-Schriften" lesen zu können. Kann der IE7 eigentlich px-Angaben skalieren?
Er hat eine Zoom-Funktion (ähnlich Opera) zusätzlich zur Funktion, die Schrift zu vergrößern. Über letztere ist px-Schrift auch weiterhin nicht vergrößerbar, über erstere schon.
Mathias