Перейти к содержимому
📐

Калькулятор CSS clamp()

Генератор адаптивных CSS-значений для font-size, padding, margin и других свойств

Открывали 968 раз

Инструмент справился с вашей задачей?

Одно нажатие, без регистрации. По ответам мы решаем, какие инструменты дорабатывать первыми.

Ваш ответ здесь будет первым.

Этот инструмент ещё ждёт первого комментария

Нашли приём, остался вопрос или чего-то не хватило — напишите, пригодится следующим. Без почты и пароля · публикуем после проверки, обычно за 1–2 дня

Что такое функция clamp() в CSS

clamp() — это современная CSS-функция, которая позволяет задавать адаптивные значения для любых свойств: шрифтов, отступов, размеров элементов. Синтаксис: clamp(MIN, PREFERRED, MAX), где MIN — минимальное значение, PREFERRED — предпочтительное (обычно в vw или %), MAX — максимальное. Например, font-size: clamp(16px, 2vw, 24px) означает, что шрифт будет минимум 16px, максимум 24px, а между ними будет масштабироваться пропорционально ширине экрана. Это золотая пуля адаптивного дизайна — один clamp() заменяет десятки медиа-запросов и делает интерфейс плавно масштабируемым.

Как работает калькулятор

Вы указываете минимальное и максимальное значение (например, 16 и 24 пикселя для шрифта) и диапазон ширины экрана, на котором будет происходить плавное изменение (например, от 320 до 1280 пикселей). Калькулятор автоматически рассчитывает оптимальные параметры clamp() и генерирует готовую строку CSS, которую можно скопировать в свой проект. Дополнительно показывается, как значение будет меняться при разных ширинах экрана, с наглядным предпросмотром. Это избавляет разработчика от ручных расчётов и вычислений формул, которые часто дают некорректные результаты.

Где применяется clamp()

В адаптивной типографике — адаптивные размеры шрифтов, которые красиво смотрятся на мобильных и десктопах. В отступах — margin и padding, плавно меняющиеся с шириной экрана. В размерах элементов — ширина и высота кнопок, карточек, контейнеров. В адаптивных сетках — плавное изменение колонок. В современном веб-дизайне, где важна отзывчивость интерфейса. clamp() поддерживается всеми современными браузерами (с 2020 года) и стал стандартным инструментом фронтенд-разработчиков. Он значительно упрощает код и делает его более поддерживаемым.

Как читать сгенерированный clamp()

Сгенерированная строка состоит из трёх частей: clamp(МИНИМУМ, ПРЕДПОЧТИТЕЛЬНОЕ, МАКСИМУМ). Минимум — нижняя граница: значение не станет меньше, как бы ни сужался экран. Максимум — верхняя граница: значение не превысит его на широких мониторах. Предпочтительное — это формула вида «0.64rem + 1.82vw»: фиксированная часть в rem задаёт базу, а часть в vw (1vw = 1% ширины окна) добавляет плавный прирост по мере роста экрана. Браузер берёт предпочтительное значение, но никогда не выпускает его за пределы минимума и максимума.

Например, clamp(1rem, 0.64rem + 1.82vw, 2rem): на экране 320px шрифт равен 16px (минимум), на 1200px — 32px (максимум), а между ними растёт плавно, без единого медиа-запроса. Фиксированная rem-часть важна для доступности: при увеличении масштаба страницы пользователем rem тоже масштабируется, а чистый vw — нет.

Частые ошибки и доступность

Главная ошибка — задавать предпочтительное значение только в vw, без слагаемого в rem (например, clamp(1rem, 5vw, 2rem)). Такой текст не реагирует на изменение масштаба страницы в браузере, и людям со слабым зрением читать сложнее. Поэтому калькулятор по умолчанию выводит rem и добавляет фиксированную rem-часть.

Вторая ошибка — слишком большой перепад размеров на узком диапазоне ширин: значение «прыгает» при малейшем изменении окна. Берите реалистичные точки: 320–1280px или 360–1440px. Третья — перепутать минимум с максимумом: если минимальный размер больше максимального, значение масштабируется наоборот. Калькулятор предупреждает об этом и автоматически меняет границы местами. И помните: clamp() решает только числовые свойства — для перестроения макета (смена числа колонок, скрытие блоков) по-прежнему нужны медиа-запросы.

💡

Пример из жизни

Frontend-разработчик создаёт адаптивный сайт и хочет, чтобы размер заголовка h1 плавно менялся от 24 пикселей на мобильных (320px) до 48 пикселей на десктопах (1280px). Раньше это делалось через много медиа-запросов.

1

Открывает калькулятор clamp() и вводит параметры: минимум 24px, максимум 48px, диапазон 320–1280px.

2

Получает готовую строку CSS: font-size: clamp(1.5rem, 1rem + 2.5vw, 3rem).

3

Вставляет её в CSS и проверяет — заголовок плавно меняется при изменении размера окна браузера.

✅

Вместо 3–4 медиа-запросов и 10 строк кода использует одну строку с clamp(). Код становится чище, поддерживать его проще, результат выглядит плавно без резких скачков при изменении ширины экрана. Теперь применяет clamp() везде в своих проектах: для шрифтов, отступов, размеров элементов. Это экономит часы работы и делает сайты более современными и отзывчивыми.

🧠

Знаете ли вы?

🎨

Функция clamp() была добавлена в CSS в 2020 году и уже поддерживается 97% современных браузеров. Это один из самых быстро распространившихся новых стандартов.

📱

До clamp() для адаптивных шрифтов приходилось писать 5–10 медиа-запросов для разных breakpoints. Теперь достаточно одной строки.

🔢

Формула расчёта slope (наклона) в clamp(): (max − min) / (maxWidth − minWidth). Именно её автоматически применяет калькулятор.

⚡

clamp() работает только с числовыми значениями. Его нельзя применять к цветам или градиентам — для них существуют другие CSS-функции.

📐

Единицы vw и vh — это проценты от ширины/высоты окна. 1vw = 1% ширины окна браузера. В clamp() они используются для плавного масштабирования.

🎯

clamp() был разработан как часть спецификации CSS Values and Units Level 4. Его авторы — участники W3C CSS Working Group.

Популярные применения clamp()

СвойствоПримерРезультат
font-size заголовковclamp(2rem, 4vw, 4rem)От 32 до 64 px
font-size текстаclamp(1rem, 1.5vw, 1.25rem)От 16 до 20 px
paddingclamp(1rem, 3vw, 3rem)Адаптивные отступы
widthclamp(300px, 50vw, 800px)Гибкий контейнер
gapclamp(1rem, 2vw, 2rem)Промежутки в сетке
💡

Важно знать

Используйте clamp() для любых адаптивных размеров в CSS, где раньше писали медиа-запросы. Это делает код короче, понятнее и более поддерживаемым. Современный frontend строится на clamp() и других функциональных возможностях CSS — без них сложно писать качественный адаптивный дизайн.

Как использовать Калькулятор CSS clamp()

1

Шаг 1. Определите диапазоны

Минимальное и максимальное значение размера (например, 16px и 24px).

2

Шаг 2. Укажите ширину экрана

Диапазон ширины, на котором происходит изменение (обычно 320–1280 или 360–1920).

3

Шаг 3. Получите clamp()

Калькулятор сгенерирует готовую строку для CSS.

4

Шаг 4. Скопируйте в проект

Вставьте в ваш CSS-файл и проверьте результат.

Примеры использования

Шрифт заголовка

clamp(1.5rem, 1rem + 2.5vw, 3rem) — от 24 до 48 px на диапазоне 320–1280px.

Padding карточки

clamp(1rem, 3vw, 3rem) — адаптивные отступы.

Ширина контейнера

clamp(320px, 50vw, 800px) — гибкое ограничение.

Gap в сетке

clamp(1rem, 2vw, 2rem) — плавные промежутки.

Базовый текст

clamp(1rem, 1.2vw, 1.25rem) — от 16 до 20 px.

Часто задаваемые вопросы

Поддерживают ли все браузеры clamp()?
Да, с 2020 года функция поддерживается всеми современными браузерами: Chrome, Firefox, Safari, Edge. Около 97% пользователей могут её использовать.
Можно ли заменить все медиа-запросы на clamp()?
Для числовых значений (размеры, отступы, шрифты) — да. Для сложных изменений макета (скрытие элементов, перестроение сеток) всё равно нужны медиа-запросы.
Что такое vw?
Viewport width — это 1% от ширины окна браузера. Если окно 1000px, то 1vw = 10px. Используется в clamp() для плавного масштабирования.
Какая формула для slope в clamp()?
slope = (max − min) / (maxWidth − minWidth). Например, для диапазона 16–24 px при ширине 320–1280 px: (24−16) / (1280−320) = 0,00833, или 0,833vw.
Можно ли использовать clamp() с rem?
Да, и это рекомендуется для доступности. Используйте rem для минимума/максимума и vw для предпочтительного значения: clamp(1rem, 0.5rem + 2vw, 2rem).
Есть ли альтернативы clamp()?
min() и max() — более простые функции. Но clamp() — это именно «min-max в одной строке», что делает его самым удобным для адаптивных значений.
Почему в clamp() лучше использовать rem, а не px?
rem масштабируется вместе с настройками масштаба страницы и размером шрифта браузера, а px — нет. Если задать размеры в px или предпочтительное значение только в vw, текст не отреагирует на увеличение масштаба — это хуже для доступности. Поэтому калькулятор по умолчанию выводит rem с фиксированной rem-частью.

Полезная информация

🔒 Параметры ваших расчётов не сохраняются на сервере — генерация происходит прямо в браузере.

📋 Для современного frontend-разработчика знание clamp() — обязательный навык. Начните применять эту функцию в своих проектах уже сегодня — код станет чище, а интерфейс более отзывчивым.

Смежные CSS-инструменты

Что обычно нужно рядом с clamp(): перевод единиц и адаптивные раскладки.

Комментарии

Этот инструмент ещё ждёт первого комментария

Без почты и пароля · публикуем после проверки, обычно за 1–2 дня

  • Руслан АвдеевОт автора проекта
    Все инструменты на ToolFox бесплатны, и я их дорабатываю сам. Напишите, если инструмент считает неверно, чего-то не хватает или что-то стоит поправить, — по таким комментариям я и решаю, чем заняться дальше.

Комментарии — мнения посетителей, прошедшие проверку по правилам сайта.