Eine CSS-Regel, die ich gelernt habe, besagt, dass man die relative "em"-Schriftgrößeneinheit anstelle der absoluten "pt" verwenden sollte. Die allgemeine Idee ist, die Schriftgröße in Ihrem body-Tag auf z. B. "94%" zu setzen und dann alle anderen Elemente mit einer "em"-Größe wie dieser zu versehen. Der Grund dafür ist:
- Sie können dann die relative Größe aller Schriftgrößen auf Ihrer Website ändern, indem Sie die Schriftgröße des Körpers an einer Stelle ändern
- Die Benutzer können die Größe der Schriftarten selbst ändern, da sie in "em" definiert sind.
Wenn ich jedoch "em" anstelle von "pt" verwende, stoße ich immer wieder auf Probleme wie das folgende, bei dem ein Element mit Schriftgröße in ein anderes Element mit Schriftgröße eingebettet wird und dadurch winzig wird (im folgenden Fall ist ein Vokabelwort .8 von .8 und das andere .8 von 1,2).
<html>
<head>
<style type="text/css">
body {
font-size: 94%;
}
p {
font-size: .8em;
}
li {
font-size: 1.2em;
}
.vocabulary {
font-size: .8em;
}
</style>
</head>
<body>
<p>This is an <span class="vocabulary">egregious</span> test.</p>
<ul>
<li>This is in a <span class="vocabulary">superb</span> list.</li>
</ul>
</body>
</html>
In sehr einfachen, unkomplizierten HTML-Seiten ist das natürlich kein Problem, aber in der realen Welt mit importierten Stylesheets, die Sie vielleicht nicht einmal erstellt haben, und mit dynamischen Seiten, bei denen Steuerelemente in andere Steuerelemente eingebettet sind, die alle HTML mit vielleicht Inline-Styling ausgeben, finde ich, dass Websites mit "em"-Einheitsschriftgrößen manchmal unmöglich zu pflegen sind und dass der Weg, die Schriftgröße unter Kontrolle zu bekommen, darin besteht, alles in harte "px"-Größen zu konvertieren.
Außerdem habe ich gerade die vier wichtigsten Browser überprüft, und jeder von ihnen verfügt über Hotkeys, mit denen sich die Größe von "pt"-Schriften vergrößern und verkleinern lässt.
Hier sind also meine Fragen:
- Gibt es irgendeinen realen Grund, warum ich "em" statt "pt" verwenden sollte?
- gibt es einen Trick bei der Verwendung von "em" Größen, so dass ich nicht in die eingebettete Schriftgröße Problem oben laufen?