Notes on type and layout
Kerning Room is the notebook of an independent designer and front-end developer: type scales, font pairing, spacing, grids, contrast and design tokens, written up with the CSS that makes them work.
What this notebook is for
Most web typography advice stops at “use a nice font”. The decisions that make a page easy to read are smaller and more numerous than that.
How big the body text is on a phone. How many heading sizes a long article really needs. How long a line can run before readers lose their place. Whether the grey you chose for captions is still readable outdoors.
Each note takes one of those decisions, explains how I make it, and shows the CSS. The studies are small experiments where I test the advice on real text before trusting it.
Latest notes
Building a type scale you'll actually use
A modular scale is a good start and a bad finish. How I pick a base and a ratio, how many steps to keep, and how to make the result fluid without losing control of it.
Line length, leading and the reading column
Measure, line height and size depend on each other. How I set a reading column in CSS, why 65ch is not 65 characters, and what changes on a phone.
Contrast that passes and still looks good
WCAG contrast ratios are a floor, not a style. What the numbers measure, where designs usually fail them, and how to build a palette that clears them without looking harsh.



Set your own type scale
Pick a body size and a ratio. Every step from h1 down to small text is recalculated, with the pixel and rem values to copy.
| Step | Specimen | Pixels | Rem |
|---|---|---|---|
| h1 | Reading column | 54.9px | 3.433rem |
| h2 | Leading and measure | 43.9px | 2.747rem |
| h3 | A ratio for long reads | 35.2px | 2.197rem |
| h4 | Pairing a serif with a sans | 28.1px | 1.758rem |
| h5 | Spacing tokens, fewer values | 22.5px | 1.406rem |
| body | Body text sets the pace for everything else on the page. | 18px | 1.125rem |
| small | Captions, metadata and footnotes share the small step. | 14.4px | 0.9rem |
:root {
--step-5: 3.433rem; /* 54.9px */
--step-4: 2.747rem; /* 43.9px */
--step-3: 2.197rem; /* 35.2px */
--step-2: 1.758rem; /* 28.1px */
--step-1: 1.406rem; /* 22.5px */
--step-0: 1.125rem; /* 18px */
--step--1: 0.9rem; /* 14.4px */
}Who writes this
One independent designer and front-end developer. I set type for screens, build the CSS for it, and write down what holds up. No newsletter, no comments, no tracking. If a note helped, or if it is wrong, email is the way to say so.




