vasilenko.info

Конвертер px, rem и em

/tool/px-rem-converter/ работает считает браузер

Правьте любое поле — остальные пересчитаются: из пикселей в rem и обратно, в em, проценты, пункты и вьюпортные единицы. Рядом — замена всех размеров в куске CSS, таблица частых значений под ваш базовый кегль и строка clamp() для размера, который растёт вместе с экраном.

промоДвадцать лет заметок про сайтыКак это делали в 2008-м и что из этого работает сейчас.Открыть

Пересчёт размера

Поля равноправные: правите пиксели — считаются rem, правите rem — считаются пиксели.

Базовый кегль страницы

16 px браузеры ставят по умолчанию. Другое значение выбирайте, только если у вас в стилях переопределён font-size у html.

font-size у html: от него и только от него считается rem
Нужен только для em и процентов: они считаются от ближайшего родителя
Пять полей ниже — одно и то же число в разных единицах. Правьте любое, остальные пересчитаются.
Размер из макета: кегль, отступ, радиус — что угодно
Впишите сюда 1.375 — и слева увидите, сколько это пикселей
Считается от кегля родителя, а не от html
То же, что em, только умноженное на сто
Нужны для печатных стилей: 1 px = 0,75 pt
Экран: для vw, vh, vmin и строки clamp()
Ширина, на которой размер равен введённому. Она же — верхний край clamp()
Нужна только для vh и vmin
Нижний край clamp(): самый узкий телефон, который вы поддерживаете
Пока поле не трогали, тут три четверти основного размера — обычная разница между телефоном и десктопом

Размер в rem

rem

Строка для CSS

Столько увидит читатель, если поднимет шрифт в браузере

при базе 16 px
при базе 18 px
при базе 20 px
при базе 24 px

Вьюпортные единицы

vw
vh
vmin

Одна vw — это процент ширины экрана. Размер, заданный только в vw, не отзывается на настройку шрифта в браузере: для кегля берите его вместе с rem внутри clamp().

Строка clamp(): размер растёт между двумя ширинами

Считается по полям «узкий экран» и «ширина экрана». Открыть в генераторе clamp() — там график, шкала кеглей и проверка по WCAG.

Считает браузер. Ни размеры, ни вставленный CSS никуда не отправляются: после загрузки страница не делает ни одного запроса.

Как это выглядит

Одна и та же строка, набранная получившимся размером, при трёх настройках шрифта в браузере. Размер задан в rem, поэтому вместе с базой едет и он.

При базе 16 px

Съешь ещё этих мягких французских булок

При базе 20 px

Съешь ещё этих мягких французских булок

При базе 24 px

Съешь ещё этих мягких французских булок

Пересчитать целый кусок CSS

Вставьте стили — все размеры в пикселях станут rem при выбранном базовом кегле. Ширины в медиазапросах, текст в кавычках и адреса в url() остаются нетронутыми.

Направление
Свойства border*, outline*, box-shadow и text-shadow. Граница в 1 px при увеличенном шрифте должна остаться границей, а не превратиться в рамку.
padding: 1.5rem 2rem /* 24px 32px */ — удобно на ревью, но комментарии придётся вычистить перед сборкой.

Поле пустое: вставьте сюда стили, и справа появится пересчитанный кусок.

Частые размеры

Таблица пересчитывается вместе с базовым кеглем. Нажатие на значение копирует его.

При базе 16 px
РазмерВ rem

промоПосчитайте заодно ROIОкупаемость кампании по расходу и доходу.Открыть

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

  1. Выберите базовый кегль кнопкой или впишите свой. Если вы не переопределяли font-size у html, оставьте 16 px — именно столько ставят браузеры.

  2. Дальше правьте любое из пяти полей. Знаете размер из макета — вводите пиксели. Читаете чужой CSS и хотите понять, сколько это на самом деле, — вводите rem, em или проценты, пиксели посчитаются сами.

  3. Строку «столько увидит читатель» читайте как проверку на доступность: там весь ряд настроек шрифта в браузере, а не одна ступень. Раздел «Как это выглядит» показывает то же самое глазами.

  4. Нужен не один размер, а весь файл — вставьте кусок CSS в раздел «Пересчитать целый кусок CSS». Галка про границы и тени оставит в пикселях то, что в rem переводить вредно.

  5. Таблица частых размеров пересчитывается под выбранную базу. Нажатие на значение копирует его; кнопка рядом отдаёт всю таблицу переменными --size-* или файлом.

  6. Кнопка «Скопировать ссылку» кладёт все поля в адрес — ссылку можно отправить в чат, и коллега увидит тот же расчёт. Настройки заодно запоминаются в браузере до следующего раза.

промоСписок задач в браузереБез аккаунта, всё хранится на вашем устройстве.Открыть

Формула и что в неё входит

rem = px ÷ базовый кегль · em = px ÷ кегль родителя · pt = px × 0,75 · vw = px ÷ ширина экрана × 100

em наследуется и умножается: вложенные друг в друга элементы с font-size: 1.2em дают 1,2 × 1,2 = 1,44. У rem такого накопления нет — точка отсчёта всегда одна. Обратный пересчёт устроен так же, только деление меняется на умножение: 1.375rem при базе 16 px — это 22 px.

Разбор примера: 24 px при базе 16 px

Исходные данные — те же, что стоят в полях по умолчанию: их можно пересчитать в уме и убедиться, что инструмент не врёт.

  1. В rem: 24 ÷ 16 = 1.5.

  2. В em: 24 ÷ 20 = 1.2. В процентах то же самое: 1.2 × 100 = 120 %.

  3. В пунктах: 24 × 0,75 = 18 pt. В vw при ширине 1440: 24 ÷ 1440 × 100 = 1.66667.

  4. Если читатель поднимет базовый кегль до 20 px, элемент, заданный в rem, станет 1.5 × 20 = 30 px, а при 24 px — 36 px.

  5. Обратно: чтобы узнать, сколько пикселей в 1.375rem, впишите это число в поле rem — получится 22 px.

24 px при базе 16 px — это 1.5 rem. В стилях: font-size: 1.5rem.

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

промоВесь каталог инструментовСорок четыре штуки, все считают в браузере.Открыть

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

5