Font Variant Numeric
Tailwind CSS version
v1.8.0+
Utilities for controlling the variant of numbers.
Class reference
Class | Properties |
---|---|
.normal-nums | font-variant-numeric: normal; |
.ordinal | font-variant-numeric: ordinal; |
.slashed-zero | font-variant-numeric: slashed-zero; |
.lining-nums | font-variant-numeric: lining-nums; |
.oldstyle-nums | font-variant-numeric: oldstyle-nums; |
.proportional-nums | font-variant-numeric: proportional-nums; |
.tabular-nums | font-variant-numeric: tabular-nums; |
.diagonal-fractions | font-variant-numeric: diagonal-fractions; |
.stacked-fractions | font-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.
<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.
<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.
<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.
<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.
<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.
<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.
<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.
<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 Tailwind’s responsive design features, check out the Responsive Design documentation.
Customizing
Responsive and pseudo-class variants
By default, only responsive variants are generated for font variant numeric utilities.
You can control which variants are generated for the font variant numeric utilities by modifying the fontVariantNumeric
property in the variants
section of your tailwind.config.js
file.
For example, this config will also generate hover and focus variants:
// tailwind.config.js
module.exports = {
variants: {
// ...
- fontVariantNumeric: ['responsive'],
+ fontVariantNumeric: ['responsive', 'hover', 'focus'],
}
}
Disabling
If you don’t plan to use the font variant numeric utilities in your project, you can disable them entirely by setting the fontVariantNumeric
property to false
in the corePlugins
section of your config file:
// tailwind.config.js
module.exports = {
corePlugins: {
// ...
+ fontVariantNumeric: false,
}
}