Hi,
bei einem Projekt haben wir Elementen eine Breite in ex gegeben, um sie bei Schriftgrößenveränderungen konsistent zu halten. Der Vorgang an sich funktionierte erwartungsgemäß gut; jedoch gab es in der effektiven Breite gravierende Unterschiede zwischen den Browsern, wenn in diesen die Schrift gleich groß ist. Ich muss dazu sagen, dass folgendes Basis-Regelwerk existierte:
html { font-size: 100.01%; } /* bekannte Umgehung diverser Browserbugs */
body { font-size: 0.85em; } /* bzw. andere Werte, jeweils in em */
body * { font-size: 1em; } /* alles schön vereinheitlichen :-) */
Dazu kam dann halt #foo { width: 20ex; } o.ä.
Laut W3C ist die Berechnung von ex ein bisschen wischi-waschi definiert:
"""The x-height of a font can be found in different ways. Some fonts contain reliable metrics for the x-height. If reliable font metrics are not available, UAs may determine the x-height from the height of a lowercase glyph. One possible heuristics is to look at how far the glyph for the lowercase "o" extends below the baseline, and subtract that value from the top of its bounding box. In the cases where it is impossible or impractical to determine the x-height, a value of 0.5em should be used."""
Für mich klingt das etwa nach "Du könntest es soundso versuchen, und wenn Dir das zu blöd ist, nimmst Du halt 'n halbes em." Ich würde gerne wissen, wie die Browser _tatsächlich_ die Größe berechnen, also bei welchen Schriftarten sie welches Verfahren nutzen, wie genau die Berechnung ist, wo Rundungsfehler in welcher Art wirken usw., und natürlich was effektiv dabei raus kommt.
Hat dazu jemand einen Linktipp oder Erfahrungswerte? Meiner Recherche fehlten leider die richtigen Stichworte ...
Cheatah
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes