font-variant-numeric

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Die font-variant-numeric CSS Eigenschaft steuert die Verwendung von alternativen Glyphen für Zahlen, Brüche und Ordinalzeichen.

Probieren Sie es aus

font-variant-numeric: normal;
font-variant-numeric: slashed-zero;
font-variant-numeric: tabular-nums;
font-variant-numeric: oldstyle-nums;
<section id="default-example">
  <div id="example-element">
    <table>
      <tr>
        <td><span class="tabular">0</span></td>
      </tr>
      <tr>
        <td><span class="tabular">3.54</span></td>
      </tr>
      <tr>
        <td><span class="tabular">1.71</span></td>
      </tr>
    </table>
  </div>
</section>
@font-face {
  font-family: "Fira Sans";
  src:
    local("FiraSans-Regular"),
    url("/shared-assets/fonts/FiraSans-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}

section {
  font-family: "Fira Sans", sans-serif;
  margin-top: 10px;
  font-size: 1.5em;
}

#example-element table {
  margin-left: auto;
  margin-right: auto;
}

.tabular {
  border: 1px solid;
}

Syntax

css
font-variant-numeric: normal;
font-variant-numeric: ordinal;
font-variant-numeric: slashed-zero;
font-variant-numeric: lining-nums; /* <numeric-figure-values> */
font-variant-numeric: oldstyle-nums; /* <numeric-figure-values> */
font-variant-numeric: proportional-nums; /* <numeric-spacing-values> */
font-variant-numeric: tabular-nums; /* <numeric-spacing-values> */
font-variant-numeric: diagonal-fractions; /* <numeric-fraction-values> */
font-variant-numeric: stacked-fractions; /* <numeric-fraction-values> */
font-variant-numeric: oldstyle-nums stacked-fractions;

/* Global values */
font-variant-numeric: inherit;
font-variant-numeric: initial;
font-variant-numeric: revert;
font-variant-numeric: revert-layer;
font-variant-numeric: unset;

Diese Eigenschaft kann eine von zwei Formen annehmen:

  • entweder der Schlüsselwortwert normal
  • oder einer oder mehrere der unten aufgeführten Werte, durch Leerzeichen getrennt, in beliebiger Reihenfolge.

Werte

normal

Dieses Schlüsselwort führt zur Deaktivierung der Verwendung solcher alternativen Glyphen.

ordinal

Dieses Schlüsselwort erzwingt die Verwendung spezieller Glyphen für Ordinalzeichen, wie 1st, 2nd, 3rd, 4th im Englischen oder 1a im Italienischen. Es entspricht den OpenType-Werten ordn.

slashed-zero

Dieses Schlüsselwort erzwingt die Verwendung einer 0 mit einem Schrägstrich; dies ist nützlich, wenn eine klare Unterscheidung zwischen O und 0 erforderlich ist. Es entspricht den OpenType-Werten zero.

<numeric-figure-values>

Diese Werte steuern die verwendeten Figuren für Zahlen. Es gibt zwei mögliche Werte:

  • lining-nums aktiviert das Set von Figuren, bei denen alle Zahlen auf der Grundlinie liegen. Es entspricht den OpenType-Werten lnum.
  • oldstyle-nums aktiviert das Set von Figuren, bei denen einige Zahlen, wie 3, 4, 7, 9 Abwärtsstriche haben. Es entspricht den OpenType-Werten onum.
<numeric-spacing-values>

Diese Werte steuern die Größe der Figuren, die für Zahlen verwendet werden. Es gibt zwei mögliche Werte:

  • proportional-nums aktiviert das Set von Figuren, bei denen Zahlen nicht alle die gleiche Größe haben. Es entspricht den OpenType-Werten pnum.
  • tabular-nums aktiviert das Set von Figuren, bei denen alle Zahlen die gleiche Größe haben, sodass sie leicht wie in Tabellen ausgerichtet werden können. Es entspricht den OpenType-Werten tnum.
<numeric-fraction-values>

Diese Werte steuern die Glyphen, die zur Darstellung von Brüchen verwendet werden. Es gibt zwei mögliche Werte:

  • diagonal-fractions aktiviert das Set von Figuren, bei denen der Zähler und der Nenner verkleinert und durch einen Schrägstrich getrennt werden. Es entspricht den OpenType-Werten frac.
  • stacked-fractions aktiviert das Set von Figuren, bei denen der Zähler und der Nenner verkleinert, gestapelt und durch eine horizontale Linie getrennt werden. Es entspricht den OpenType-Werten afrc.

Formale Definition

Anfangswertnormal
Anwendbar aufall elements and text. Auch anwendbar auf ::first-letter und ::first-line.
VererbtJa
Berechneter Wertwie angegeben
Animationstypdiskret

Formale Syntax

font-variant-numeric = 
normal |
[ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]

<numeric-figure-values> =
lining-nums |
oldstyle-nums

<numeric-spacing-values> =
proportional-nums |
tabular-nums

<numeric-fraction-values> =
diagonal-fractions |
stacked-fractions

Beispiele

Einstellung von ordinalen Zahlenformen

Klicken Sie auf "Play" in den Codeblöcken unten, um das Beispiel im MDN Playground zu bearbeiten:

html
<p class="ordinal">1st, 2nd, 3rd, 4th, 5th</p>
css
@font-face {
  font-family: "Source Sans Pro";
  src: url("https://mdn.github.io/shared-assets/fonts/SourceSansPro-Regular.otf")
    format("opentype");
  font-weight: 400;
  font-style: normal;
}

.ordinal {
  font-family: "Source Sans Pro";
  font-size: 2rem;
  font-variant-numeric: ordinal;
}

Spezifikationen

Specification
CSS Fonts Module Level 4
# font-variant-numeric-prop

Browser-Kompatibilität

Siehe auch