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

View in English Always switch to English

CSS-At-Rule-Deskriptor font-width

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

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

Hinweis: Der Deskriptor font-width ist der moderne Ersatz für den Deskriptor font-stretch, der als veralteter Alias weiterbesteht. Obwohl font-width der in der Spezifikation bevorzugte Name ist, wird font-stretch derzeit von mehr Browsern unterstützt. Weitere Informationen finden Sie im Beispiel für einen Fallback und in der Tabelle zur Browser-Kompatibilität.

Mit dem CSS-Deskriptor font-width können Sie für die in der At-Rule @font-face angegebenen Schriftarten eine normale, schmale oder breite Schriftvariante festlegen.

Für eine bestimmte Schriftfamilie können Sie verschiedene Schriftvarianten herunterladen, die den unterschiedlichen Stilen derselben Schriftfamilie entsprechen. Anschließend können Sie mit dem Deskriptor font-width die Breite einer Schriftvariante ausdrücklich festlegen. Die verfügbaren Werte für den Deskriptor font-width entsprechen denen der gleichnamigen Eigenschaft font-width.

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 Deskriptor font-width akzeptiert einen einzelnen Wert aus der folgenden Liste.

Werte

normal

Gibt eine Schriftvariante mit normaler Breite an.

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

Gibt eine schmalere Schriftvariante als normal an, wobei ultra-condensed am schmalsten ist.

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

Gibt eine breitere Schriftvariante als normal an, wobei ultra-expanded am breitesten ist.

<percentage>

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

In früheren Versionen der Spezifikation für font-width akzeptierte der Deskriptor nur die neun Schlüsselwortwerte. CSS Fonts Level 4 erweitert die Syntax um einen <percentage>-Wert. Dadurch können variable Schriftarten eine kontinuierliche Abstufung der Zeichenbreiten anbieten. Bei variablen TrueType- oder OpenType-Schriftarten wird die Variation wdth verwendet, um unterschiedliche Breiten umzusetzen.

Wenn die Schriftart keine Variante bereitstellt, die genau dem angegebenen Wert entspricht, werden Werte unter 100% einer schmalen Variante und Werte ab 100% einer breiten Variante zugeordnet.

Zuordnung von Schlüsselwörtern zu numerischen Werten

Die folgende Tabelle zeigt, welchen Prozentwerten die Schlüsselwörter entsprechen:

Schlüsselwort Prozentwert
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 Schriftarten

Die meisten Schriftarten haben eine bestimmte Breite, die einem der Schlüsselwortwerte entspricht. Variable Schriftarten können dagegen einen fein abgestuften Breitenbereich unterstützen. So haben Sie mehr Kontrolle über die gewählte Breite. Dafür eignen sich Prozentbereiche.

Bei variablen TrueType- oder OpenType-Schriftarten wird die Variation wdth verwendet, um unterschiedliche Glyphenbreiten umzusetzen.

Barrierefreiheit

Menschen mit Legasthenie oder anderen kognitiven Beeinträchtigungen können Schwierigkeiten haben, zu schmale Schriftarten zu lesen. Das gilt insbesondere, wenn die Schrift ein geringes Farbkontrastverhältnis aufweist.

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

Einen Prozentbereich für font-width festlegen

Das folgende Beispiel verwendet die Schriftart League Mono. Mithilfe des Deskriptors font-width und unterschiedlicher Schlüsselwörter und Prozentwerte erzeugt es verschiedene Schriftfamilien aus derselben Schriftdatei.

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;
}

Einen font-stretch-Fallback bereitstellen

Da font-width noch nicht von vielen Browsern unterstützt wird, können Sie den älteren Deskriptor font-stretch als Fallback einfügen. Platzieren Sie font-stretch vor font-width, damit Browser, die den modernen Deskriptor unterstützen, diesen 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 mit dem Plugin postcss-preset-env für PostCSS automatisieren. Es enthält die Transformation postcss-font-width-property, die font-width-Deklarationen automatisch in font-stretch-Deklarationen umwandelt.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch