Lesson 2 of 30
Font sizes picked one screen at a time drift into noise. A modular scale generates every size from one base and one ratio, so the hierarchy is a system, not a memory test.
12 min read
Every option explains itself — why the right one is right, and why each wrong one is wrong. Miss one and it comes back later on a spaced-repetition schedule.
Question 1 of 3
A modular type scale is built from a base size and a ratio. What does the ratio actually control?
Hints without spoilers, and a plain explanation of why a wrong answer was wrong — answered only from this lesson. Free account, no card.
Sign up freeWhat interviewers actually ask about this, and what a strong answer has to cover.
A strong answer covers
Likely follow-ups
Left to pick sizes by eye, most interfaces drift toward a pile of near-duplicates: 14px here, 15px there, 13px on a card that got built by someone else on a different day. None of it is wrong exactly — each choice looked fine in isolation — but nothing relates to anything else, and the page ends up with visual noise instead of hierarchy.
A modular scale fixes this by generating every size from two numbers: a base size (usually your body text, e.g. 16px) and a ratio (a multiplier applied at each step — 1.2, 1.25, and 1.333 are common choices, borrowed from musical intervals). Multiply up from the base for headings, divide down for captions. Every size in the interface becomes a specific rung on one ladder, not an independent decision.
Praxis's own type tokens follow exactly this shape:
--p-text-sm: 0.875rem; /* 14px */
--p-text-base: 1rem; /* 16px — the base */
--p-text-lg: 1.125rem; /* 18px */
--p-text-xl: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem); /* 20–24px */
--p-text-2xl: clamp(1.5rem, 1.25rem + 1.1vw, 2rem); /* 24–32px */
--p-text-3xl: clamp(1.875rem, 1.4rem + 2vw, 2.75rem); /* 30–44px */
Sizes picked by eye — 14px, 17px, 22px, 29px — happen to increase, but by no consistent amount.
Notice what's absent: no component reaches for a raw font-size: 19px. Every heading, label, and paragraph in the product picks one of these named steps — which is exactly what makes a redesign like swapping the whole scale's ratio a one-line change instead of a hunt through every component.
"Walk me through how you'd set up type for a new product" tests whether a candidate reaches for a system or for fifteen independent CSS declarations. The strong answer names a base size, a ratio, and a short list of named steps — and can explain why that ratio, not just that one exists.