W3docs

CSS font-stretch Eigenschaft

Die CSS-Eigenschaft font-stretch macht Text schmaler oder breiter. Lernen Sie alle Werte kennen und probieren Sie Beispiele aus.

Die CSS-Eigenschaft font-stretch wählt eine schmalere oder breitere Variante der aktuellen Schriftart und ermöglicht es, den Text zu kondensieren oder zu erweitern, ohne die font-size oder das font-weight zu ändern. Sie gehört zu den CSS3-Eigenschaften.

Das Wichtigste dabei ist: font-stretch dehnt Glyphen nicht wie eine Transformation. Es wählt lediglich eine alternative Breitenvariante aus, die die Schriftart bereits mitliefert. Hat die font-family keine Breitenvarianten, hat die Eigenschaft keinen sichtbaren Effekt – der Text bleibt in seiner normalen Breite. Deshalb sehen Sie ein Ergebnis nur bei Schriftarten, die kondensierte/erweiterte Varianten enthalten (zum Beispiel Myriad Pro, Roboto Condensed oder eine variable Schriftart mit einer wdth-Achse).

Wann sollte man es verwenden?

Greifen Sie auf font-stretch zurück, wenn:

  • Sie eine Schriftfamilie verwenden, die mehrere Breitenvarianten bereitstellt, und der Browser die richtige auswählen soll (anstatt jede Variante unter einem separaten font-family-Namen zu importieren).
  • Sie mit einer variablen Schriftart arbeiten, die eine Breitenachse (wdth) exponiiert – Prozentwerte werden direkt auf diese Achse übertragen.

Bei Alltagstext, bei dem die Schriftart nur eine einzige Breite hat, bewirkt font-stretch nichts. Verlassen Sie sich daher nicht darauf, um Text in eine Box einzupassen.

Hinweis: In der neuesten CSS-Fonts-Spezifikation wurde font-stretch in font-width umbenannt. Browser akzeptieren font-stretch weiterhin als Alias, daher bleibt der Eigenschaftsname in diesem Kapitel überall gültig.

Werte

font-stretch akzeptiert entweder ein Schlüsselwort oder einen Prozentwert. Jedes Schlüsselwort hat einen entsprechenden Prozentwert:

SchlüsselwortProzentwert
ultra-condensed50%
extra-condensed62.5%
condensed75%
semi-condensed87.5%
normal100%
semi-expanded112.5%
expanded125%
extra-expanded150%
ultra-expanded200%

Prozentwerte bieten eine feinere Kontrolle: Jeder Wert von 50% bis 200% ist erlaubt, und bei einer variablen Schriftart können Zwischenwerte wie 90% oder 133% verwendet werden. Werte unter 100% sind schmaler als normal; Werte über 100% sind breiter.

Ausgangswertnormal
Gilt fürAlle Elemente. Gilt auch für ::first-letter und ::first-line.
VererbtNein
AnimierbarJa.
VersionCSS3
DOM-Syntaxobject.style.fontStretch = "expanded";

Syntax

Syntax der CSS font-stretch-Eigenschaft

font-stretch: ultra-condensed | extra-condensed | condensed | semi-condensed | normal | semi-expanded | expanded | extra-expanded | ultra-expanded | 50% | 100% | 200% | initial | inherit;

Beispiel der font-stretch-Eigenschaft

Das folgende Beispiel wendet jedes Schlüsselwort auf denselben Buchstaben an. Denken Sie daran, dass Sie einen Unterschied nur sehen, wenn die gerenderte Schriftart (Myriad Pro hier, mit einem System-Fallback) tatsächlich diese Breitenvarianten bereitstellt.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        font-size: 4em;
        font-family: 'Myriad Pro', sans-serif;
      }
    </style>
  </head>
  <body>
    <p>
      <span style="font-stretch: ultra-condensed">A</span>
      <span style="font-stretch: extra-condensed">A</span>
      <span style="font-stretch: condensed">A</span>
      <span style="font-stretch: semi-condensed">A</span>
      <span style="font-stretch: normal">A</span>
      <span style="font-stretch: semi-expanded">A</span>
      <span style="font-stretch: expanded">A</span>
      <span style="font-stretch: extra-expanded">A</span>
      <span style="font-stretch: ultra-expanded">A</span>
    </p>
  </body>
</html>

Prozentwert mit einer variablen Schriftart verwenden

Bei einer variablen Schriftart mit einer Breitenachse können Sie jeden Wert im Bereich 50%200% anfordern, einschließlich Zwischenbreiten:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        font-family: 'Roboto Flex', sans-serif;
        font-size: 2em;
      }
      .narrow { font-stretch: 75%; }
      .normal { font-stretch: 100%; }
      .wide   { font-stretch: 150%; }
    </style>
  </head>
  <body>
    <p class="narrow">Condensed text (75%)</p>
    <p class="normal">Normal text (100%)</p>
    <p class="wide">Expanded text (150%)</p>
  </body>
</html>

Wie die Variante ausgewählt wird

Die Variante, die für einen bestimmten font-stretch-Wert gewählt wird, hängt von den Breitenvarianten ab, die die Schriftart tatsächlich mitliefert. Wenn keine Variante genau dem angeforderten Wert entspricht, greift der Browser auf die nächstgelegene zurück: Werte unter 100% werden der nächstgelegenen schmaleren Variante zugeordnet, Werte ab 100% der nächstgelegenen breiteren Variante.

Wertbeschreibungen

WertBeschreibung
ultra-condensedVerengt den Text auf das Maximum (50%).
extra-condensedVerengt den Text erheblich, aber nicht so stark wie ultra-condensed (62,5%).
condensedVerengt den Text mäßig, aber nicht so stark wie extra-condensed (75%).
semi-condensedVerengt den Text leicht, aber nicht so stark wie condensed (87,5%).
normalEs wird keine alternative Variante ausgewählt. Dies ist der Standardwert (100%).
semi-expandedErweitert den Text etwas breiter als normal (112,5%).
expandedErweitert den Text mäßig breiter als semi-expanded (125%).
extra-expandedErweitert den Text erheblich breiter als expanded (150%).
ultra-expandedErweitert den Text auf das Maximum (200%).
50% bis 200%Ein Prozentwert, der den Streckungsfaktor darstellt; unter 100% ist schmaler, darüber breiter.
initialSetzt die Eigenschaft auf ihren Standardwert.
inheritErbt die Eigenschaft vom übergeordneten Element.

Verwandte Eigenschaften

  • font-weight — wählt die Stärke der Schriftvariante.
  • font-style — wählt normale, kursive oder schräge Varianten.
  • font-variant — steuert Kapitälchen und andere alternative Glyphen.
  • font-family — gibt an, welche Schriftart (und ihre Varianten) verwendet werden soll.
  • font — die Kurzschreibweise zum Festlegen mehrerer Schrifteigenschaften auf einmal.

Übung

Übung
Was macht die CSS-Eigenschaft 'font-stretch'?
Was macht die CSS-Eigenschaft 'font-stretch'?
Was this page helpful?