Moin!
Und darüberhinaus wird die technische Abteilung meines Auftraggebers gewohnheitsmäßig mit einem Pixellineal nachmessen. Wenn die herausfinden, daß meine 80em auf ihren Monitoren nun 991px oder 993px ergeben, kriege ich eine entsprechende Korrekturanforderung.
Dann führt dein Vorhaben, em zu verwenden, dich direkt in die Katastrophe.
Szenario: Du machst erstmal mit groben em-Werten das Layout, es kommt zu einzelnen Pixelabweichungen.
Die Pixelabweichungen werden moniert und sollen korrigiert werden.
Du korrigierst die konkrete Maßeinheit auf einen Wert mit vielen Nachkommastellen, um unter Standardbedingungen (die hoffentlich im Browser deiner Auftraggeber und Nachmesser auch gelten) die Maße einzuhalten.
Dann kommt eine andere Pixelabweichung, die ebenfalls korrigiert werden muß. Dummerweise im Vererbungsbaum weiter oben.
Das hat wieder Auswirkungen auf die vormals getätigte Korrektur, du rechnest die eklig lange Kommazahl nochmal neu - sofern du dran denkst, und dir nicht die Grafikabteilung erneut die Korrektur aufgibt.
Da diese Größenänderung weiter oben im Vererbungsbaum ansetzte, haben sich aber noch ganz andere Maße verändert, die ebenfalls wieder pixelgenau korrigiert werden müssen.
Und so weiter, und so fort... Ganz grausam wird es, wenn irgendein IE-Browser der Grafikabteilung als relevant betrachtet wird, aber nicht die mittlere Schriftgröße eingestellt hat. Oder der Schriftgrößenstandard verstellt wurde.
Und zu guter letzt wird die Grafikabteilung nicht akzeptieren, dass Pixelgrafiken, vornehmlich Icons, in unzureichender Weise vom Browser skaliert werden - das sieht nämlich, egal wie gut die Algorithmen sind, richtig scheiße aus, und das werden die dir auch sagen.
Mit anderen Worten: Du hast großes Potential, dich mit diesem Auftrag auf Jahre hinaus zu beschäftigen und dabei die meiste Zeit nur Nachkommastellenfeintuning in den em-Werten durchzuführen - dabei aber gegenüber deinem Auftraggeber wie der größte Idiot auszusehen, der es einfach nicht hinbekommt - Validität der Webseite hin oder her. Diejenigen, die das Intranet vorher gemacht haben, die hatten es hinbekommen. Es ist halt nur sehr unwahrscheinlich, dass man dich diese Jahre werkeln läßt.
Du kannst kein fixes Layout in em umrechnen, das ist völliger Blödsinn.
Das wäre allerdings mein Ansinnen gewesen. Wobei es gar nicht zuerst um Schriftgrößen geht, sondern um die Größen- und Positionierungsangaben von diversen HTML-Elementen; also eben nicht nur Schrift.
Die Problematik mit em ist auch der unterschiedliche Bezug:
Wenn man em in font-size verwendet, bezieht sie sich auf die font-size der im HTML übergeordneten Elements.
Wenn man em in irgendeiner anderen Längenangabe verwendet, bezieht sie sich auf die font-size dieses Elements.
Das bedeutet, dass 1em nirgendwo dasselbe (in dargestellten Pixeln) ist. 1em im Body ist die Browserschriftgröße, also vielleicht 16 px. 1em als Border des Body ist dann auch 16px. 0.5em als font-size in einem Absatz wären dann 8px. Und 0.5em Border für diesen Absatz wären dann 4px! Dasselbe gilt, wollte man Grafikgrößen in em angeben. Ein 10px breites Icon ist im Body 0.625em groß. Im Textabsatz müßte man aber 1.25em angeben für die gleiche optische Größe.
Bei diesen ganzzahligen Verhältnissen ist das Spielchen noch einigermaßen durchschaubar - aber wenn die Überschrift dargestellte 13px = 0.8125em sein soll, erfordert darin das 10px-Icon schon 0.769230769230em (der Bruch 10/13 ist periodisch nichtabbrechend - also vermutlich auch ein Horror für die Computermathematik).
Du kannst selbstverständlich gerne den em-Weg wählen. Nur solltest du dir dann vorher schriftlich bestätigen lassen, dass die Grafikabteilung keine Pixel zählen wird. Nur dann hat ein em-Layout eine reelle Chance, in annehmbarer Zeit realisiert werden zu können.
Und selbst dann würde ich persönlich Pixelgrafiken niemals mit em-Größenangaben versehen.
- Sven Rautenberg
--
"Love your nation - respect the others."