text: '--spacing(4)' is a Tailwind build-time function (v4.3.2+), not a
CSS variable — a bare --token stays parenthesized var sugar (text-(--size))
while a --name(...) call becomes a bracketed arbitrary value
(text-[--spacing(4)]). This one rule applies to every value position, not just
font-size; see sz Props → CSS Variables
for the full contrast. You write no brackets or parens either way.
font size scale — xs, sm, base, lg, xl, 2xl
text-xs: The quick brown foxtext-sm: The quick brown foxtext-base: The quick brown foxtext-lg: The quick brown foxtext-xl: The quick brown foxtext-2xl: The quick
CSS takes one keyword per group and combines the groups, so each group is one
key: a second value in the same group replaces the first, and different groups
combine. nums: 'normal' resets them: written after the group keys it replaces
them, and group keys written after it replace it.
sz prop
Tailwind class
{ numSpacing: 'tabular' }
tabular-nums
{ numSpacing: 'proportional' }
proportional-nums
{ numFigure: 'lining' }
lining-nums
{ numFigure: 'oldstyle' }
oldstyle-nums
{ numFraction: 'diagonal' }
diagonal-fractions
{ numFraction: 'stacked' }
stacked-fractions
{ numOrdinal: true }
ordinal
{ numSlashedZero: true }
slashed-zero
{ nums: 'normal' }
normal-nums
{ numSpacing: 'tabular', numSlashedZero: true }
tabular-nums slashed-zero
Tailwind keeps each group in a variable that a child does not inherit: a child
that sets one group of its own shows only that group. Put every group an element
needs on that element.