title, description, tags
| title |
description |
tags |
| Typography Scale & System |
Building a consistent typographic scale for web interfaces. |
| typography |
| scale |
| system |
| fonts |
| sizing |
|
Typography Scale & System
Type Scale (1.25 ratio)
| Name |
Size |
Weight |
Line-height |
Use |
| xs |
12px |
400 |
1.5 |
Captions, labels |
| sm |
14px |
400 |
1.5 |
Small text, form labels |
| base |
16px |
400 |
1.6 |
Body text |
| lg |
18px |
400 |
1.6 |
Subtitles, lead text |
| xl |
20px |
600 |
1.4 |
Small headings |
| 2xl |
24px |
600 |
1.3 |
Section headings |
| 3xl |
30px |
700 |
1.2 |
Page titles |
| 4xl |
36px |
700 |
1.2 |
Hero titles |
| 5xl |
48px |
800 |
1.1 |
Display titles |
| 6xl |
64px |
800 |
1.1 |
Hero display |
CSS Implementation
Font Pairing Rules
- Contrast is key — Sans-serif + Sans-serif (different weights)
- Max 2 fonts — One display, one body
- Prefer system fonts — Faster rendering, native feel
- Test at actual sizes — Not just in design tools
Anti-Patterns
- Never use more than 2 type families
- Never set line-height below 1.4 for body text
- Never use font size below 14px
- Never ignore
font-display: swap