Bekanntlich hat CSS eine ganze Menge Einheiten. Wie diese Einheiten definiert sind, ist leicht rauszufinden. Wie setzt man die Einheiten aber am besten ein? Mit scheint, es ist das bequemste, einfach immer Pixel einzusetzen.
Zunächst unterscheiden sich diese Angaben in ihrem Typ nach absoluten und relativen Einheiten. pt, pc, in, mm, cm sind dabei absolute Einheiten und entsprechend fest definiert. em, ex und % sind dagegen relative Einheiten die eine Größe immer im Bezug zu einer anderen Angabe (em zur Schrifgröße des Elementes, ex zur Höhe des Kleinbuchstaben x) einnehmen. Die Einheit px ist jedoch die Einzige, die weder das Eine noch das Andere ist. Eine Angabe in px ist absolut-relativ und damit (zumindest in meinen Augen) nicht immer die beste Wahl. px ist absolut, weil es eine Einheit in festen "Pixeln" ist. Die Pixeldichte ist jedoch auf jedem Ausgabegerät eine Andere (Monitor ca. 100dpi, Drucker > 300dpi) und somit eine Angabe in px wieder relativ von Ausgabegerät zu Ausgabegerät. Was nun das "Bequemste" ist muß jeder für sich selbst entscheiden und nach seinen Prioritäten festlegen. Dem Ottonormalmöchtegernwebdesigner wird der Unterschied zwischen px und pt nicht auffallen, da die modernen Browser die Druckausgabe so aufbereiten, das sie der Bildschirmausgabe entspricht. Wer jedoch mit alternativen Ausgabegeräten zu tun hat, der wird den Unterschied sehr wohl merken. Als gute Regel sollte man nach Möglichkeit verschiedene absolute Einheiten (px, pt) nicht mischen, das könnte durchaus "Nebeneffekte" haben. Eine gute Idee ist es auch eine Schriftgröße z.B. nur einmal für das body-Tag als Absolutwert zu vergeben und alle Anderen eher relativ (em, %) anzupassen. Eine spätere Anpassung der Schriftgröße erfordert dann nur eine einzige Änderung und alle Proportionen bleiben erhalten.
Zum Thema Zoom: Dieser "Effekt" läßt sich eigentlich nur auf eine fehlerhaft umgesetzte Zoomfunktion zurückführen. Wenn einfach alle Angaben "gezoomt" werden, dann hat das natürlich eine doppelte Wirkung auf alle relativ formatierten Elemente. Der Zoom darf sich also nur auf absolute Angaben auswirken. Wenn aus
Die Browser der aktuellen Generation beherschen den Zoom aber recht zuverlässig und skalieren wohl eher auf Render- denn auf CSS-Ebene, da z.T. auch alle Bilder mit gezoomt werden.
Ich mache es meistens so, dass ich für den BODY eine Schriftgröße entweder in % oder in px angebe, und alle restlichen Schriftgrößen RELATIV dazu mit em angebe. Wenn nun jemand in seinem Browser die Schriftgröße verändert, so skalieren alle anderen Schriftgrößen (und ggf. auch Text-Abstände) automatisch passend mit.