Tailwind manages line spacing (leading) and letter spacing (tracking) with utility classes in your HTML.
Line spacing (line-height
in CSS) is the vertical space between text lines, managed by leading-*
utilities. Letter spacing (letter-spacing
in CSS) is the horizontal space between characters, managed by tracking-*
utilities.
Line Spacing (Leading)
Line spacing affects readability. Tailwind utilities set line-height
with predefined theme values.
Setting Line Height with Font Size
Tailwind combines font-size
and line-height
for consistency using text-<size>/<number>
(e.g., text-sm/6
). <size>
is a predefined font size (sm, base, lg), and <number>
is a line-height
from the spacing scale. text-<size>
alone applies a default line-height
.
Setting Line Height Independently
Control line-height
with leading-*
utilities (e.g., leading-6
, leading-7
). leading-none
sets line-height
to 1
.
Responsive Line Height
Apply line height utilities conditionally with responsive variants (e.g., md:leading-relaxed
) or container query variants (e.g., @md:leading-relaxed
).
Customizing the Line Height Scale
Extend or override the default line height scale in your main CSS file using the @theme
directive with --leading-*
variables.
@import 'tailwindcss';
@theme {
--leading-extra-tight: 1.1;
--leading-loose: 2;
}
This creates leading-extra-tight
and leading-loose
utilities. Clear defaults with --leading-*: initial;
before defining custom values.
Letter Spacing (Tracking)
Letter spacing (letter-spacing
) is controlled by tracking-*
utilities.
Setting Letter Spacing with Utilities
Predefined tracking-*
utilities include tracking-tighter
, tracking-tight
, tracking-normal
, tracking-wide
, tracking-wider
, and tracking-widest
. tracking-tight
reduces space; tracking-wide
increases it. tracking-normal
resets to browser default.
Using Negative Letter Spacing
Achieve negative letter spacing with custom values in the theme. If a custom scale includes negative values, prefix the utility with a dash (e.g., -tracking-tightest
) for numerically-based custom scales.
Responsive Letter Spacing
Make letter spacing responsive with breakpoint or container query variants (e.g., tracking-tight md:tracking-normal
).
Customizing the Letter Spacing Scale
Customize the tracking-*
scale using the @theme
directive with --tracking-*
variables.
@import 'tailwindcss';
@theme {
--tracking-tightest: -0.075em;
--tracking-extra-wide: 0.2em;
}
This creates tracking-tightest
and tracking-extra-wide
utilities. Clear defaults with --tracking-*: initial;
.
Using Custom Values
Use arbitrary values for line height and letter spacing with square bracket notation.
For line height: leading-[<value>]
(e.g., leading-[1.7]
) or text-<size>/[<value>]
.
For letter spacing: tracking-[<value>]
(e.g., tracking-[0.1em]
).
CSS variables can be used: leading-[var(--custom-line-height)]
.
Applying Responsive Design
All utilities, including line spacing and letter spacing, can be applied conditionally at breakpoints (e.g., sm:
, md:
) or based on container queries (e.g., @sm:
, @md:
).
Customizing Theme Variables
Tailwind 4 uses CSS-first configuration with the @theme
directive. Define custom scales in your main CSS file.
Theme variables (e.g., --leading-loose
, --tracking-tightest
) become standard CSS variables, usable in custom CSS or inline styles. This simplifies integration with other tools.