text-rendering
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2020.
Die text-rendering CSS Eigenschaft liefert der Rendering-Engine Informationen darüber, worauf beim Rendern von Text optimiert werden soll.
Der Browser geht Kompromisse zwischen Geschwindigkeit, Lesbarkeit und geometrischer Präzision ein.
Hinweis:
Die text-rendering Eigenschaft ist eine SVG-Eigenschaft, die in keinem CSS-Standard definiert ist. Allerdings erlauben Gecko- und WebKit-Browser, diese Eigenschaft auf HTML- und XML-Inhalte unter Windows, macOS und Linux anzuwenden.
Ein sehr sichtbarer Effekt ist optimizeLegibility, das Ligaturen (ff, fi, fl, etc.) bei Texten kleiner als 20px für einige Schriftarten ermöglicht (zum Beispiel Microsofts Calibri, Candara, Constantia und Corbel oder die DejaVu Schriftfamilie).
Syntax
/* Keyword values */
text-rendering: auto;
text-rendering: optimizeSpeed;
text-rendering: optimizeLegibility;
text-rendering: geometricPrecision;
/* Global values */
text-rendering: inherit;
text-rendering: initial;
text-rendering: revert;
text-rendering: revert-layer;
text-rendering: unset;
Werte
auto-
Der Browser trifft fundierte Entscheidungen darüber, wann bei der Darstellung von Texten auf Geschwindigkeit, Lesbarkeit und geometrische Präzision optimiert werden soll. Für Unterschiede in der Interpretation dieses Wertes durch den Browser, siehe die Kompatibilitätstabelle.
Der
autoWert ist eine gute Standardeinstellung, um Qualität und Leistung, insbesondere bei umfangreichen Textkörpern, auszubalancieren. optimizeSpeed-
Der Browser betont die Rendering-Geschwindigkeit gegenüber Lesbarkeit und geometrischer Präzision beim Zeichnen von Text. Es werden Kerning und Ligaturen deaktiviert.
Der
optimizeSpeedWert ist in ressourcenbeschränkten Rendering-Szenarien, wie langsamen Prozessoren oder niedriger Batterieleistung, vorzuziehen. optimizeLegibility-
Der Browser betont die Lesbarkeit gegenüber der Rendering-Geschwindigkeit und geometrischer Präzision. Dies ermöglicht Kerning und optionale Ligaturen.
Der
optimizeLegibilityWert ist für Texte vorzuziehen, die in der Größe groß, aber im Inhalt kurz sind, wie Überschriften oder Banner, um deren Lesbarkeit zu verbessern. Er könnte auch für hochwertige professionelle Typografie, wie veröffentlichte Artikel, genutzt werden. Es wird nicht für typische Artikel empfohlen, aufgrund möglicher Auswirkungen auf die Leistung. geometricPrecision-
Der Browser betont die geometrische Präzision über die Rendering-Geschwindigkeit und Lesbarkeit. Bestimmte Aspekte von Schriftarten — wie beispielsweise Kerning — skalieren nicht linear. Daher kann dieser Wert bei der Verwendung solcher Schriftarten gut aussehen lassen.
In SVG, wenn Text vergrößert oder verkleinert wird, berechnen Browser die endgültige Größe des Textes (die durch die angegebene Schriftgröße und die angewandte Skalierung bestimmt wird) und fordern eine Schriftart dieser berechneten Größe aus dem Schriftartensystem der Plattform an. Doch wenn Sie eine Schriftgröße von beispielsweise 9 mit einer Skalierung von 140 % anfordern, existiert die resultierende Schriftgröße von 12,6 nicht explizit im Schriftartensystem, sodass der Browser die Schriftgröße stattdessen auf 12 rundet. Dies führt zu treppenstufenartigem Skalieren von Text.
Aber die
geometricPrecisionEigenschaft — wenn sie von der Rendering-Engine vollständig unterstützt wird — ermöglicht es Ihnen, Ihren Text flüssig zu skalieren. Bei großen Skalierungsfaktoren könnten Sie weniger als schöne Textdarstellung sehen, aber die Größe ist wie erwartet — weder auf- noch abgerundet zur nächstunterstützten Schriftgröße auf Windows oder Linux.Der
geometricPrecisionWert optimiert weder Lesbarkeit noch Leistung. Es ergibt normalerweise Sinn in SVG, wo Sie möchten, dass Ihre Grafik sich originalgetreu skaliert, ohne die Textdimensionen zu verzerren.Hinweis: WebKit wendet den angegebenen Wert präzise an, aber Gecko behandelt den Wert identisch wie
optimizeLegibility.
Formale Definition
| Anfangswert | auto |
|---|---|
| Anwendbar auf | Textelemente |
| Vererbt | Ja |
| Berechneter Wert | wie angegeben |
| Animationstyp | diskret |
Formale Syntax
text-rendering =
auto |
optimizeSpeed |
optimizeLegibility |
geometricPrecision
Beispiele
>Automatische Anwendung von optimizeLegibility
Diese Demonstration zeigt, wie optimizeLegibility von Browsern automatisch verwendet wird, wenn die Schriftgröße kleiner als 20px ist.
HTML
<p class="small">LYoWAT - ff fi fl ffl</p>
<p class="big">LYoWAT - ff fi fl ffl</p>
CSS
.small {
font:
19.9px "Constantia",
"Times New Roman",
"Georgia",
"Palatino",
serif;
}
.big {
font:
20px "Constantia",
"Times New Roman",
"Georgia",
"Palatino",
serif;
}
Ergebnis
optimizeSpeed vs. optimizeLegibility
Dieses Beispiel zeigt den Unterschied zwischen dem Aussehen von optimizeSpeed und optimizeLegibility (in Ihrem Browser; andere Browser können variieren).
HTML
<p class="speed">LYoWAT - ff fi fl ffl</p>
<p class="legibility">LYoWAT - ff fi fl ffl</p>
CSS
p {
font:
1.5em "Constantia",
"Times New Roman",
"Georgia",
"Palatino",
serif;
}
.speed {
text-rendering: optimizeSpeed;
}
.legibility {
text-rendering: optimizeLegibility;
}
Ergebnis
Spezifikationen
| Specification |
|---|
| Scalable Vector Graphics (SVG) 2> # TextRenderingProperty> |
Browser-Kompatibilität
Siehe auch
-
CSS Text Decoration CSS-Modul
-
Verwandte CSS-Eigenschaften
text-decoration(und dessen Langform-Eigenschaften, wie z.B.text-decoration-line,text-decoration-styleundtext-decoration-thickness)text-emphasis(und dessen Langform-Eigenschaften, einschließlichtext-emphasis-color,text-emphasis-positionundtext-emphasis-style)text-shadowtext-transform
-
Das SVG
text-renderingAttribut