CSS и вёрстка

Как менять размер текста в CSS

📅 ⏱ 20:38 ⏳ 1 мин 💬 0

Как менять размер текста в css: простыми словами, по шагам и с примерами. Разбираем, как это работает на практике, типичные ошибки и лучшие решения. Раскрываем

Коротко: размер текста в CSS меняют свойством font-size. Задавать его лучше в rem (от размера корня) или в процентах, чтобы страница масштабировалась. Для адаптивного размера используют clamp() и медиа-запросы. Значение 1rem по умолчанию равно 16px.

Кому и зачемРазмер шрифта — основа читаемости. Слишком мелкий текст не читают на телефонах, слишком крупный «разваливает» вёрстку. Разберём, какие единицы использовать и как сделать размеры адаптивными.

Единицы измерения

Единица От чего считается Когда
px фиксированные пиксели чек-боксы, иконки
rem размер шрифта корня (обычно 16px) основной выбор
em размер шрифта родителя внутри компонентов
% от родителя относительное увеличение
vw ширина окна крупные заголовки

Вкладки: примеры




CSS
body { font-size: 16px; }
p { font-size: 1rem; }        /* 16px */
h1 { font-size: 2.5rem; }     /* 40px */

Задайте базовый размер телу, а остальные элементы считайте в rem от него — так проще соблюдать масштаб.

CSS
html { font-size: 100%; }   /* 16px по умолчанию */
html { font-size: 62.5%; }  /* 10px — удобно: 1.6rem = 16px */

Приём «62.5%» делает 1rem равным 10px и облегчает счёт. Но ломает ожидания тех, кто рассчитывает на 16px — используйте с пониманием.

CSS
h1 {
  font-size: clamp(1.75rem, 1.2rem + 2vw, 3rem);
}

clamp(мин, идеал, макс) — «плавный» размер: не меньше первого значения, не больше последнего, а между ними — растёт вместе с экраном. Одной строкой вместо десятка медиа-запросов.

JAVASCRIPT
:root {
  --fs-sm: 0.875rem;  /* 14px */
  --fs-md: 1rem;      /* 16px */
  --fs-lg: 1.25rem;   /* 20px */
  --fs-xl: 1.75rem;   /* 28px */
}
.lead { font-size: var(--fs-lg); }

«Типографическая шкала» из переменных: набор размеров, которые используют по всему сайту. Красиво и предсказуемо.

Минимум для мобильныхНе делайте основной текст меньше 16px: на телефонах мелкий шрифт не читается, а iOS ещё и «приближает» страницу при фокусе на поле, если шрифт меньше 16px.

Практика: читаемая типографика

  1. Базовый текст — 16–18px в rem.
  2. Интерлиньяж — line-height: 1.5–1.7.
  3. Ширина текстовой колонки — 60–75 символов.
  4. Заголовки — крупнее, но с коэффициентом 1.2–1.5.
  5. Крупные заголовки — через clamp().
  6. Проверьте на телефоне и на большом экране.

Частые ошибки: причина → решение

Симптом Причина Решение
Текст не масштабируется всё в px перейти на rem
Размеры «прыгают» вложенные em использовать rem
Заголовок обрезается слишком большой размер clamp() и переносы
iOS приближает при вводе шрифт поля <16px задать 16px полям

Проверьте себя

Чек-лист




От чего считается 1rem?




Что делает clamp()?




Вопросы и ответы

em считается от размера шрифта родителя и «накапливается» во вложенности. rem всегда от корня — предсказуемее.

Через font-size: clamp(2rem, 5vw, 4rem); — размер будет расти вместе с экраном до верхней границы.

Safari автоматически зумит поля с размером шрифта меньше 16px. Задайте полям font-size: 16px.

Да, в редакторе блоков и в настройках темы; для глобальных размеров — «Стили» в блочной теме или «Дополнительные стили».

Итоги

  • Размер текста — font-size; основной выбор единиц — rem.
  • Базовый текст — 16–18px, интерлиньяж 1.5–1.7.
  • Адаптивные заголовки — clamp().
  • Держите единую шкалу размеров в переменных.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

Пока комментариев нет — будьте первым, кто поделится мнением.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

Наш специалист сделает базовый аудит вашего проекта и предложит персональные предложения.

Закажите услугу Каталог морепродуктов

Наш специалист свяжется с вами в ближайшее время и уточнит детали

Закажите адаптивный сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт лендинг

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт каталог

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите интернет-магазин

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите веб-приложение

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите тариф Аутсорс

Стоимость от 150 000 ₽

Закажите тариф Магазин

Стоимость 90 000 ₽

Закажите тариф Классический

Стоимость 60 000 ₽

Закажите тариф Эконом

Стоимость 40 000 ₽

Закажите SEO продвижение

Наш специалист свяжется с вами, проведет анализ, предложит стоимость