Rolf B: input-Textfeld soll so breit sein wie die maximale Zeichenzahl

Beitrag lesen

Hallo Linuchs,

Nun könnte man annehmen, dass ein Zeichen 1em breit ist.

Bei Stackoverflow schreibt jemand: "In traditional typography, the space taken up by a capital letter M and the mandatory whitespace around it is always a square."

Computerfonts folgen keiner traditionellen Typographie. Die EM-Box ist höher als breit. Und die font-size gibt die Zeichenhöhe an, nicht die Dickten (weil das für proportionale Schriften sinnlos wäre).

Wenn Du also einen 16px Font eingestellt hast, ist die EM-Box 16px hoch. Die Breite variiert mit dem genutzten Font. Und dass die EM-Box 16px hoch ist, heißt nicht, dass die Großbuchstaben 16px hoch sind. Normalerweise sind sie niedriger, damit noch Platz für Akzentzeichen ist: É. Im Übrigen ist die EM-Box für einen Font das gleiche wie eine rote Ampel für den typischen Fahrradfahrer: eine nette Empfehlung, aber nichts, wovon man sich beeindrucken lassen muss.

Die einzige Garantie, die Du bei einem Monospace-Font hast (hm, haben solltest), ist, dass die Glyphen dicktengleich sind. Aber eine garantierte Relation von Dickte zu font-size hast Du nicht.

Da hilft nur ausmessen, und zwar im Browser des Users, per JavaScript. Du weißt ja nicht, welcher Font dort zum Zuge kommt.

Rolf

--
sumpsi - posui - obstruxi