Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

font-width

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Hinweis: Der font-width-Deskriptor ist der moderne Ersatz für den font-stretch-Deskriptor, welcher ein veraltetes Alias ist. Während font-width der bevorzugte Name der Spezifikation ist, hat font-stretch derzeit eine breitere Browser-Unterstützung. Überprüfen Sie das Fallback-Beispiel und die Browser-Kompatibilität Tabelle für Details.

Der font-width CSS Deskriptor ermöglicht es Autoren, ein normales, komprimiertes oder erweitertes Gesicht für die in der @font-face-At-Regel angegebenen Schriften zu spezifizieren.

Für eine bestimmte Schriftfamilie können Autoren verschiedene Schriftschnitte herunterladen, die den verschiedenen Stilen derselben Schriftfamilie entsprechen, und dann den font-width-Deskriptor verwenden, um die Breite des Schriftschnitts explizit anzugeben. Die verfügbaren Werte für den font-width-Deskriptor sind die gleichen wie die der entsprechenden font-width-Eigenschaft.

Syntax

css
/* Single values */
font-width: ultra-condensed;
font-width: extra-condensed;
font-width: condensed;
font-width: semi-condensed;
font-width: normal;
font-width: semi-expanded;
font-width: expanded;
font-width: extra-expanded;
font-width: ultra-expanded;
font-width: 50%;
font-width: 100%;
font-width: 200%;

/* Multiple values */
font-width: 75% 125%;
font-width: condensed ultra-condensed;

Der font-width-Deskriptor kann einen einzelnen Wert aus der nachstehenden Liste annehmen.

Werte

normal

Spezifiziert ein normales komprimiertes Schriftschnitt.

semi-condensed, condensed, extra-condensed, ultra-condensed

Spezifiziert einen stärker komprimierten Schriftschnitt als normal, wobei ultra-condensed der am stärksten komprimierte ist.

semi-expanded, expanded, extra-expanded, ultra-expanded

Spezifiziert einen stärker erweiterten Schriftschnitt als normal, wobei ultra-expanded der am stärksten erweiterte ist.

<percentage>

Ein <percentage>-Wert zwischen 50% und 200% (einschließlich). Negative Werte sind für diesen Deskriptor nicht erlaubt.

In früheren Versionen der font-width-Spezifikation akzeptierte der Deskriptor nur die neun Schlüsselwort-Werte. CSS Fonts Level 4 erweitert die Syntax, um auch einen <percentage>-Wert zu akzeptieren. Dies ermöglicht es variablen Schriften, eine kontinuierliche Variation der Zeichenbreiten anzubieten. Für TrueType- oder OpenType-Variable-Schriften wird die wdth-Variation verwendet, um unterschiedliche Breiten zu implementieren.

Wenn die Schriftart kein Gesicht bietet, das genau mit dem angegebenen Wert übereinstimmt, werden Werte unter 100% einem komprimierten Gesicht zugeordnet, und Werte größer oder gleich 100% werden einem erweiterten Gesicht zugeordnet.

Zuordnung von Schlüsselwörtern zu numerischen Werten

Die folgende Tabelle zeigt die Zuordnung zwischen Schlüsselwortwerten und numerischen Prozenten:

Schlüsselwort Prozentsatz
ultra-condensed 50%
extra-condensed 62,5%
condensed 75%
semi-condensed 87,5%
normal 100%
semi-expanded 112,5%
expanded 125%
extra-expanded 150%
ultra-expanded 200%

Variable Schriften

Die meisten Schriften haben eine bestimmte Breite, die einem der Schlüsselbegriff-Werte entspricht. Variable Schriften können jedoch einen Bereich von Breiten mit feiner Granularität unterstützen, was dem Designer mehr Kontrolle über das gewählte Gewicht gibt. Für diesen Zweck sind Prozentsatzbereiche nützlich.

Für TrueType- oder OpenType-Variable-Schriften wird die wdth-Variation verwendet, um unterschiedliche Glyphenbreiten zu implementieren.

Barrierefreiheit

Menschen mit Dyslexie und anderen kognitiven Bedingungen können Schwierigkeiten haben, komprimierte Schriften zu lesen, insbesondere wenn die Schrift eine geringe Farbkontrastverhältnis hat.

Formale Definition

Wert in der Datenbank nicht gefunden!

Formale Syntax

font-width = 
auto |
<'font-width'>{1,2}

<font-width> =
normal |
<percentage [0,∞]> |
ultra-condensed |
extra-condensed |
condensed |
semi-condensed |
semi-expanded |
expanded |
extra-expanded |
ultra-expanded

Beispiele

Einstellen eines Prozentsatzbereichs für font-width

Das folgende Beispiel verwendet die League Mono Schriftart. Es synthetisiert verschiedene Schriftfamilien aus derselben Schriftdatei unter Verwendung des font-width-Deskriptors mit unterschiedlichen Schlüsselwörtern und Prozentsätzen.

html
<p>League Mono</p>
<p>League Mono</p>
<p>League Mono</p>
css
@font-face {
  font-family: "League Mono Ultra Condensed";
  src: url("/shared-assets/fonts/LeagueMono-VF.ttf") format("truetype");
  font-width: ultra-condensed; /* same as 50% */
}

@font-face {
  font-family: "League Mono Normal";
  src: url("/shared-assets/fonts/LeagueMono-VF.ttf") format("truetype");
  font-width: 100%; /* same as normal */
}

@font-face {
  font-family: "League Mono Ultra Expanded";
  src: url("/shared-assets/fonts/LeagueMono-VF.ttf") format("truetype");
  font-width: ultra-expanded; /* same as 200% */
}

p:nth-child(1) {
  font-family: "League Mono Ultra Condensed", sans-serif;
}

p:nth-child(2) {
  font-family: "League Mono Normal", sans-serif;
}

p:nth-child(3) {
  font-family: "League Mono Ultra Expanded", sans-serif;
}

Bereitstellen eines Font-Stretch-Fallbacks

Da font-width noch keine breite Browser-Unterstützung hat, möchten Sie möglicherweise den veralteten font-stretch-Deskriptor als Fallback einfügen. Platzieren Sie font-stretch vor font-width, damit unterstützte Browser den modernen Deskriptor verwenden:

css
@font-face {
  font-family: "MyFont";
  src: url("my-font.woff2") format("woff2");
  font-stretch: condensed; /* for browsers that don't support font-width */
  font-width: condensed;
}

Hinweis: Sie können dieses Fallback-Muster automatisieren, indem Sie das postcss-preset-env Plugin für PostCSS verwenden, das die postcss-font-width-property Transformation enthält, um font-width-Deklarationen automatisch in font-stretch zu konvertieren.

Spezifikationen

Specification
CSS Fonts Module Level 4
# descdef-font-face-font-width

Browser-Kompatibilität

Siehe auch