Font variant numeric

Utilities for controlling the variant of numbers.


Class reference

ClassProperties
normal-numsfont-variant-numeric: normal;
ordinalfont-variant-numeric: ordinal;
slashed-zerofont-variant-numeric: slashed-zero;
lining-numsfont-variant-numeric: lining-nums;
oldstyle-numsfont-variant-numeric: oldstyle-nums;
proportional-numsfont-variant-numeric: proportional-nums;
tabular-numsfont-variant-numeric: tabular-nums;
diagonal-fractionsfont-variant-numeric: diagonal-fractions;
stacked-fractionsfont-variant-numeric: stacked-fractions;

# Usage

Use the font-variant-numeric utilities to enable additional glyphs for numbers, fractions, and ordinal markers (in fonts that support them).

These utilities are composable so you can enable multiple font-variant-numeric features by combining multiple classes in your HTML:

<p class="ordinal slashed-zero tabular-nums ...">1234567890</p>

Note that many fonts don’t support these features (stacked fractions support for example is especially rare), so some of these utilities may have no effect depending on the font family you are using.

# Ordinal

Use the ordinal utility to enable special glyphs for the ordinal markers.

1st

<p class="ordinal ...">1st</p>

# Slashed Zero

Use the slashed-zero utility to force a 0 with a slash; this is useful when a clear distinction between O and 0 is needed.

0

<p class="slashed-zero ...">0</p>

# Lining figures

Use the lining-nums utility to use the numeric glyphs that are all aligned by their baseline. This corresponds to the lnum OpenType feature. This is the default for most fonts.

1234567890

<p class="lining-nums ...">1234567890</p>

# Oldstyle figures

Use the oldstyle-nums utility to use numeric glyphs where some numbers have descenders. This corresponds to the onum OpenType feature.

1234567890

<p class="oldstyle-nums ...">1234567890</p>

# Proportional figures

Use the proportional-nums utility to use numeric glyphs that have proportional widths (rather than uniform/tabular). This corresponds to the pnum OpenType feature.

12121

90909

<p class="proportional-nums ...">12121</p>
<p class="proportional-nums ...">90909</p>

# Tabular figures

Use the tabular-nums utility to use numeric glyphs that have uniform/tabular widths (rather than proportional). This corresponds to the tnum OpenType feature.

12121

90909

<p class="tabular-nums ...">12121</p>
<p class="tabular-nums ...">90909</p>

# Diagonal fractions

Use the diagonal-fractions utility to replace numbers separated by a slash with common diagonal fractions. This corresponds to the frac OpenType feature.

1/2 3/4 5/6

<p class="diagonal-fractions ...">1/2 3/4 5/6</p>

# Stacked fractions

Use the stacked-fractions utility to replace numbers separated by a slash with common stacked fractions. This corresponds to the frac OpenType feature. Very few fonts seem to support this feature — we’ve used Ubuntu Mono here.

1/2 3/4 5/6

<p class="stacked-fractions ...">1/2 3/4 5/6</p>

# Resetting numeric font variants

Use the normal-nums propery to reset numeric font variants. This is usually useful for resetting a font feature at a particular breakpoint:

<p class="slashed-zero tabular-nums md:normal-nums ...">12345</p>

# Responsive

To control font-variant-numeric property of an element at a specific breakpoint, add a {screen}: prefix to any existing font-variant-numeric utility. For example, use md:tabular-nums to apply the tabular-nums utility at only medium screen sizes and above.

<div class="proportional-nums md:tabular-nums">
<!-- ... -->
</div>

For more information about Elements’ responsive design features, check out the Responsive Design documentation.