typography
Half-leading
also called leading space, line box padding, half leading space
The empty space a browser splits evenly above and below a line of text when line height exceeds the font's own height, which is why text boxes never sit flush.
Set a line of 40px text with a line height of 2 and the browser produces an 80px box. The letters themselves only need the font’s own content area, roughly 46px for a typical family, so 34px is left over. That leftover is not appended below the line or reserved above it: it is halved, and one half is placed above the letters and the other below. Each of those halves is a half-leading. It is the reason a heading you gave no padding still refuses to touch its container, and the reason two elements set 24px apart look closer to 40 apart.
The mechanism matters because the space belongs to the line box rather than to the box model. It is not margin and not padding, so it does not collapse, does not answer to a negative value you can reason about, and cannot be measured with a ruler in the browser’s box overlay. It also is not constant: the amount depends on the family’s ascent and descent, which means the same declared leading yields a different half-leading in every typeface, and a font swap quietly shifts every label you had centered. On a multi-line paragraph the half-leadings between lines meet and add up to the visible line spacing, which is exactly the effect you wanted. On a single line of interface text they are just two cushions nobody asked for.
Two ways out, and they answer different questions. Text box trim removes the half-leading at the ends of a text block so the box hugs the cap height and the baseline, which is what an interface label wants: the padding you declare becomes the padding you see. A baseline grid goes the other way and embraces the arithmetic, placing every line on a fixed interval so the half-leadings work out to a consistent rhythm down the page. The trap in vertical rhythm work is forgetting which of the two you are doing, and subtracting half-leadings from spacing that was already sitting on a grid.
The one thing not to do is guess. Nudging a label up by 2px because it looks high is a fix that lasts until someone changes the font size, the weight, or the family, at which point the half-leading changes and the nudge becomes the bug. If the box has to hug the letters, trim it and then state the space you meant.
Which word?
| If you want | say |
|---|---|
| explaining the mystery padding around a line of text | half-leading |
| the vertical space between lines of type | leading |
| you want a label's box to match the letters, not the font | text box trim |
| aligning text with an icon or another line of text | baseline |