16 Stimmen

Gibt es praktische Gründe für die Verwendung von "em" anstelle von "pt"-Schriftgrößeneinheiten?

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?

12voto

Pete OHanlon Punkte 9009

Je nachdem, in welchem Land Sie leben, könnten Sie sogar gegen das Gesetz verstoßen, wenn Sie pt statt em verwenden, je nachdem, wie streng Ihr Gesetzgeber die Vorschriften durchsetzen will. Hier im Vereinigten Königreich gibt es ein Gesetz gegen die Diskriminierung von Behinderten, das dazu benutzt wurde, um gegen Unternehmen vorzugehen, die ihre Websites in einer festen Schriftart gestaltet haben. Dies wird als Diskriminierung behandelt, weil es die Behinderten benachteiligt, die vielleicht ihre Browser-Schriftgröße erhöht haben, um dies auszugleichen - aber Ihre Website stellt die Schrift immer noch in der von Ihnen eingestellten Größe dar, und nicht in der Größe, die sie erwarten würden.

Ja, es ist schwieriger, mit relativen Schriftgrößen und fließenden Layouts zurechtzukommen, aber wenn Sie die Rechtsvorschriften einhalten wollen, müssen Sie sich die Zeit nehmen, sich damit auseinanderzusetzen.

Für die Arbeit der Kommunalverwaltungen im Vereinigten Königreich wurden Zielvorgaben festgelegt, die sicherstellen sollen, dass Websites die Double-A-Leitlinien einhalten, von denen eine besagt: "Verwenden Sie relative statt absolute Einheiten in den Attributwerten der Auszeichnungssprache und den Eigenschaftswerten der Stilvorlagen". Siehe aquí .

0 Stimmen

Hallo Pete, vielen Dank für deine Antwort. Wissen Sie, ob dieses Gesetz für Unternehmen mit Sitz in den USA gilt, die Kunden haben, die ihre Benutzeroberflächen in Großbritannien nutzen?

2voto

Eugene Yokota Punkte 92703

Selbst wenn Sie die Schriftgröße fest in Pixel kodieren, können Sie immer noch em für unit verwenden, um Rand, Länge usw. anzugeben. ähnlich wie bei der Verwendung von em-Vierer einen Absatz in der Druckmaschine ohnehin einzurücken.

Editar (Nachdem das Plakat von px auf pt umgestellt wurde): Wenn Sie "pixelgenau" sein wollen, ist es sicherer, px statt pt zu verwenden, da die verschiedenen Betriebssysteme unterschiedliche dpi-Einstellungen haben und der Benutzer die dpi-Einstellung vor allem unter Linux drastisch ändern kann. PostScript-Punkt ist definiert als 1/72 eines Zolls. Ein "Inch" auf dem Bildschirm kann überall zwischen 72 Pixeln liegen, je nachdem, was Ihnen am besten gefällt.

2voto

gnud Punkte 75549

Aus meiner Erfahrung als Internetnutzer, der großen Text mag:

Die Angabe von "pt" für Schriftgrößen ist in Ordnung, solange Sie die Elementgrößen nicht in px/pt angeben. Denn wenn Sie das tun, und ich erhöhe die Textgröße, die Hälfte der Text überläuft außerhalb des Elements und viel zu oft Überlauf ist auf versteckt gesetzt.

Das muss Ihr Layout nicht verzerren - lassen Sie einfach Platz für alles, was nach unten wachsen soll. Ich kann mit dem Scrollen der Seite besser umgehen, als wenn ich den Text nicht sehe.

2voto

PhiLho Punkte 39496

1) Der IE6 ist immer noch weit verbreitet und kann die Größe der in px definierten Schriftarten nicht ändern => Usability-Probleme. Das allein ist schon ein Tabu.

2) Siehe CSS-Einheiten zum Beispiel.

3) Die meisten Autoren sind sich einig, dass pt vor allem eine Druckeinheit ist: Verwenden Sie sie schlimmstenfalls in Druck-Stylesheets, wo das Problem der Größenänderung verschwindet...

1voto

Dirk Vollmar Punkte 166522

0 Stimmen

Ich meinte natürlich "pt", nicht "px", sorry. Ursprünglichen Beitrag bearbeitet :-)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X