Clew

ГлавнаяИнструментыПродуктовый дизайнГенератор типографической шкалы

Генератор типографической шкалы с резиновым clamp()

Выберите базовый размер и коэффициент — от сдержанной малой секунды до золотого сечения — для самого узкого и самого широкого экрана. Генератор посчитает все ступени, запишет CSS clamp(), который плавно растёт между двумя ширинами, покажет шкалу на любой ширине, предупредит о размерах, мешающих масштабированию в браузере, и выгрузит CSS-переменные, конфиг Tailwind, SCSS или дизайн-токены.

● Бесплатно, без регистрацииОбновлено:

Необязательно, например fs → --fs-step-0

—

 

Размер шрифта каждой ступени на минимальной и максимальной ширине и значение CSS
СтупеньМин., pxМакс., pxЗначение CSS

Формула. размер = база · коэффициентступень для каждой ширины; наклон = (макс − мин) / (ширинамакс − ширинамин); font-size: clamp(мин, (мин − наклон · ширинамин) / 16 rem + наклон · 100 vw, макс).

Расчёт идёт в вашем браузере — введённые данные никуда не отправляются.

Как пользоваться

  1. Задайте ширины экранаМинимальная — самый узкий экран, под который вы проектируете (360 px — частая ширина телефона), максимальная — ширина, после которой макет перестаёт расти. Снимите галочку «Резиновая», если нужна одна статичная шкала.
  2. Выберите базу и коэффициентОсновной текст обычно 16–18 px. Небольшие коэффициенты подходят плотным интерфейсам, крупные дают выразительные заголовки. Меньший коэффициент на телефоне и больший на десктопе не дают заголовкам вылезать за край.
  3. Проверьте превью и таблицуДвигайте ползунок ширины, чтобы увидеть все ступени на любом экране. В таблице — размеры на обоих краях и значение clamp(); предупреждения о масштабе появляются над превью.
  4. Выгрузите кодВыберите CSS-переменные, Tailwind v3 или v4, SCSS или дизайн-токены, задайте префикс и имена ступеней и скопируйте код.

Что такое модульная типографическая шкала

Модульная шкала — набор размеров шрифта, в котором каждый следующий размер равен предыдущему, умноженному на один и тот же коэффициент. Вместо того чтобы подбирать на глаз 14, 18, 22 и 31, вы выбираете базу и коэффициент — и все заголовки, подписи и метки получают размеры, связанные между собой. Идея пришла из музыки, где интервалы между нотами — отношения частот; для веба её популяризировал Тим Браун в статье «More Meaningful Typography» (A List Apart, 2011).

размер(ступень) = база × коэффициент ^ ступень база 16 px, коэффициент 1,25 (большая терция): ступень −1 = 12,8 px ступень 0 = 16 px ступень 1 = 20 px ступень 2 = 25 px ступень 3 = 31,25 px ступень 4 = 39,06 px

Отрицательные ступени дают подписи и мелкий текст, положительные — заголовки. Распространённые коэффициенты и где они уместны:

  • 1,067 малая секунда, 1,125 большая секунда — очень плотные шкалы: дашборды, приложения с большим объёмом данных, маленькие экраны.
  • 1,2 малая терция, 1,25 большая терция — самый частый выбор для продуктовых интерфейсов и документации.
  • 1,333 чистая кварта, 1,414 увеличенная кварта — чёткая иерархия для лендингов и блогов.
  • 1,5 чистая квинта, 1,6 малая секста, 1,618 золотое сечение — выразительные шкалы; ступеней должно быть немного, иначе к четвёртой заголовки становятся огромными.

Круглые значения не обязательны: браузеры отрисовывают дробные размеры, а согласованность ступеней важнее целых чисел.

Резиновая типографика на CSS clamp()

Одна шкала редко подходит и телефону шириной 360 px, и десктопу в 1440 px: заголовки, хорошие на большом экране, на мобильном вылезают за край. Раньше это решали набором медиазапросов, которые переключают размеры скачком. Резиновая типографика вместо этого линейно увеличивает каждый размер с ростом ширины экрана между двумя точками и фиксирует его за их пределами. В CSS это одно объявление:

наклон = (размер_макс − размер_мин) / (ширина_макс − ширина_мин) сдвиг = размер_мин − наклон × ширина_мин font-size: clamp(размер_мин, сдвиг + наклон × 100vw, размер_макс) ступень 0: 16 px при 320 px → 18 px при 1240 px наклон = 2 / 920 = 0,002174 → 0,2174vw сдвиг = 16 − 0,002174 × 320 = 15,304 px = 0,9565rem font-size: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem)

В генераторе базу и коэффициент можно задать отдельно для каждого края — так работает Utopia (utopia.fyi). Меньший коэффициент на телефоне и больший на десктопе почти не меняют основной текст, зато заголовки на большом экране становятся заметнее. Все значения записываются в rem, поэтому шкала учитывает размер шрифта, выбранный пользователем.

Резиновые шрифты и доступность

Критерий WCAG 1.4.4 требует, чтобы текст можно было увеличить до 200 % без потери содержимого. Масштаб браузера увеличивает значения в rem, но не в vw, поэтому размер, сильно зависящий от ширины экрана, может не удвоиться при увеличении. Два правила делают резиновую типографику безопасной:

  • Всегда добавляйте rem в предпочтительное значение — никогда не пишите просто 5vw. Генератор всегда выдаёт rem + vw.
  • Максимум не больше 2,5 минимума. Как показал Максвелл Барвиан (Smashing Magazine, 2023), если наибольший размер в clamp() не больше наименьшего в 2,5 раза, текст всегда можно увеличить до 200 %. Ступени, нарушающие это правило, отмечаются над превью.

Как выбрать настройки для продуктового интерфейса

  • Начинайте с основного текста. 16 px — размер браузера по умолчанию и хороший минимум для чтения; для длинных текстов на десктопе часто берут 17–18 px. Подписи интерфейса и ячейки таблиц могут использовать ступень −1.
  • Ограничьте число ступеней. Большинству продуктов хватает двух ступеней ниже базы и 4–5 выше. Больше размеров делают иерархию не понятнее, а запутаннее.
  • Уменьшайте межстрочный интервал с ростом кегля. Около 1,5 для основного текста и 1,1–1,2 для крупных заголовков; экспорт в Tailwind включает рекомендуемый интервал для каждой ступени.
  • На маленьких экранах берите меньший коэффициент. 1,2 на телефоне и 1,25–1,333 на десктопе — надёжная пара для продуктового интерфейса.
  • Короткие тексты интерфейса тоже должны читаться. Подсказки, шаги онбординга и пункты чеклиста часто набирают 12–13 px, чтобы уместить в маленький пузырь. Держите их не меньше ступени −1 и сокращайте текст — поможет калькулятор времени чтения подсказок.
  • Проверяйте контраст на самом мелком размере. Тонким начертаниям и мелкому кеглю нужно больше контраста — проверьте пары в проверке контраста цветов.

Источники

  1. Brown T. More Meaningful Typography. A List Apart, 2011 — модульные шкалы для веба.
  2. Брингхерст Р. Основы стиля в типографике. — классическая типографическая шкала и музыкальные интервалы.
  3. Utopia (utopia.fyi), J. Gilyead и T. Hill — резиновые шкалы с разными коэффициентами для узкого и широкого экрана.
  4. Barvian M. Addressing Accessibility Concerns With Using Fluid Type. Smashing Magazine, 2023 — правило 2,5× для масштаба 200 %.
  5. W3C. WCAG 2.2, критерий 1.4.4 «Изменение размера текста».
  6. W3C. CSS Values and Units Module Level 4 — clamp(), rem и vw.

Частые вопросы

Какой коэффициент типографической шкалы лучше?

Единственно правильного нет. Для продуктовых интерфейсов и документации чаще всего берут 1,2 (малая терция) или 1,25 (большая терция), для лендингов — 1,333 или 1,414. С коэффициентом 1,5 и больше ступеней должно быть немного: размеры растут очень быстро.

Как рассчитать резиновый размер шрифта через clamp()?

Найдите наклон: (макс. размер − мин. размер) / (макс. ширина − мин. ширина). Сдвиг = мин. размер − наклон × мин. ширина. Затем запишите clamp(мин. размер, сдвиг в rem + наклон × 100 vw, макс. размер). Для 16 px при 320 px и 18 px при 1240 px получится clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem).

Резиновая типографика доступна?

Да, если предпочтительное значение сочетает rem и vw, а максимальный размер не больше минимального в 2,5 раза. Тогда масштаб браузера по-прежнему увеличивает текст до 200 %, как требует WCAG 1.4.4. Размеры только в vw на масштаб не реагируют — их лучше избегать.

Размер шрифта задавать в px или rem?

В rem. Он учитывает размер шрифта, выбранный пользователем в настройках браузера, а px — нет. Генератор показывает размеры в px для наглядности, но все значения CSS пишет в rem, считая 1rem = 16 px, если вы не измените это.

Сколько размеров шрифта нужно дизайн-системе?

Обычно 6–8: два ниже основного текста для подписей и меток, основной размер и 3–5 размеров заголовков. Больше ступеней хуже воспринимаются как иерархия и редко используются последовательно.

Как подключить шкалу в Tailwind CSS?

Для Tailwind v3 вставьте экспорт в theme.extend.fontSize в tailwind.config.js и используйте классы вроде text-step-2 или text-xl. Для Tailwind v4 вставьте блок @theme в CSS: каждая переменная --text-* превращается в утилиту text-*.

Ещё в разделе «Продуктовый дизайн»

Открыть подборку →

Подсказки, туры и чеклисты, эффект которых видно в цифрах.

Попробовать Clew бесплатноКак это работаетFree — бесплатно навсегда · Pro и Business — 14 дней без карты

Туры, попапы и онбординг в эпоху ИИ

7 паттернов с числом шагов, правилами текста и метриками, что меняет ИИ, чек-лист перед публикацией. PDF, 2 страницы. Что внутри гайда →