Содержание статьи

Размер шрифта в CSS напрямую влияет на читаемость и восприятие контента. Стандартным способом задания является свойство font-size, которое поддерживает несколько типов значений: абсолютные (px, pt), относительные (em, rem) и ключевые слова (small, medium, large).
Абсолютные единицы, такие как px, позволяют задать точный размер текста. Например, font-size: 16px; задает тексту высоту 16 пикселей, что подходит для контролируемого дизайна, но не учитывает масштабирование пользователем.
Относительные единицы, такие как em и rem, удобны для адаптивных интерфейсов. 1em равен текущему размеру шрифта родителя, а 1rem соответствует корневому размеру документа, обычно 16px. Это позволяет легко масштабировать текст на разных устройствах и сохранять пропорции элементов.
Ключевые слова, такие как small, medium и large, обеспечивают быстрый способ задания размера без конкретных чисел, что удобно для быстрых прототипов и унифицированного стиля.
Для управления текстом на разных устройствах рекомендуется комбинировать относительные единицы с медиа-запросами. Например, можно задать базовый размер текста через rem, а на мобильных устройствах уменьшать его на 10–20%, чтобы сохранить читаемость и визуальный баланс.
Использование абсолютных единиц измерения для текста

Абсолютные единицы в CSS задают точный размер текста независимо от родительских элементов или настроек браузера пользователя. Наиболее часто используются px и pt. Пиксели (px) применяются для веб-дизайна и отображения на экранах, где требуется точное позиционирование и согласованная сетка. Например, font-size: 18px; устанавливает текст строго в 18 пикселей.
Очки (pt) традиционно используют в печатных материалах, один пункт равен 1/72 дюйма. В веб-контексте их применение встречается реже, но они могут быть полезны при адаптации текста для печати через CSS @media print.
Абсолютные единицы позволяют контролировать визуальные размеры шрифта на конкретных разрешениях экрана, но не реагируют на масштабирование пользователем, поэтому их лучше сочетать с относительными единицами для адаптивного дизайна.
Рекомендуется использовать px для ключевых элементов интерфейса, таких как заголовки и кнопки, где важно точное отображение, а pt – при подготовке стилей для печати, чтобы сохранить соответствие макету.
Применение относительных единиц и масштабирование

Относительные единицы позволяют задавать размер шрифта пропорционально родительскому элементу или корневому документу. Наиболее распространены em и rem. 1em соответствует размеру шрифта родителя, 1rem – размеру корневого элемента (html), обычно 16px.
Использование этих единиц упрощает масштабирование текста при изменении базового размера страницы. Например, если задать html { font-size: 18px; }, то h1 { font-size: 2rem; } будет равен 36px. Изменение базового размера на 20px автоматически увеличит все элементы, использующие rem.
Таблица ниже демонстрирует практическое соответствие относительных единиц абсолютным значениям при базовом размере 16px:
| CSS значение | Эквивалент в пикселях |
|---|---|
| 0.5em | 8px |
| 1em | 16px |
| 1.25em | 20px |
| 2rem | 32px |
| 3rem | 48px |
Рекомендуется использовать rem для ключевых заголовков и основного текста, чтобы сохранять пропорции при масштабировании на мобильных устройствах и при изменении настроек браузера пользователем.
Установка размера шрифта через проценты
Процентное значение в CSS задаёт размер шрифта относительно родительского элемента. Например, font-size: 120%; увеличивает текст на 20% по сравнению с размером шрифта контейнера. Это позволяет создавать гибкую типографику, которая масштабируется вместе с элементами страницы.
Если родительский элемент имеет font-size: 16px;, то дочерний с font-size: 125%; будет отображаться как 20px. При изменении базового размера родителя все дочерние элементы автоматически корректируют свой размер.
Процентные значения удобно использовать для списков, блоков контента и форм, где требуется сохранить относительные пропорции текста. Также их можно комбинировать с em или rem для создания более сложных и адаптивных схем масштабирования.
Рекомендуется начинать с 100% для базового текста, а заголовки и подписи увеличивать на 110–150%, чтобы сохранять читаемость без резких скачков размера.
Настройка размера текста с помощью ключевых слов

CSS поддерживает установку размера текста с помощью ключевых слов, которые задают относительный размер по стандартной шкале. Основные ключевые слова:
- xx-small – очень мелкий текст, примерно 9px при стандартном размере 16px;
- x-small – мелкий текст, около 10px;
- small – уменьшенный текст, около 13px;
- medium – базовый размер текста, обычно 16px;
- large – увеличенный текст, около 18px;
- x-large – крупный текст, примерно 24px;
- xx-large – очень крупный текст, около 32px;
- smaller – на один шаг меньше относительно родителя;
- larger – на один шаг больше относительно родителя.
Ключевые слова удобны для прототипирования и быстрых корректировок дизайна без точных чисел. Например, для списков или кнопок можно использовать small и large, чтобы сохранять визуальную иерархию.
Рекомендуется комбинировать ключевые слова с относительными единицами, если требуется адаптация текста под разные размеры экранов, сохраняя при этом удобочитаемость и пропорции элементов.
Наследование и переопределение размеров шрифтов

В CSS свойство font-size наследуется от родительского элемента к дочерним, если не задано иное. Например, если body { font-size: 16px; }, все элементы внутри будут отображаться с размером 16px, если не применено переопределение.
Переопределение размера шрифта выполняется путем указания нового значения для конкретного элемента. Например, h1 { font-size: 2rem; } задает заголовку размер в 32px при базовом размере 16px в корне.
При работе с относительными единицами (em, rem) важно учитывать контекст наследования. 1em соответствует размеру шрифта родителя, что позволяет создавать иерархию текста с пропорциональными отступами и масштабированием.
Для точного контроля рекомендуется задавать базовый размер для html или body, а все дочерние элементы масштабировать через rem или проценты. Это упрощает управление типографикой при изменении базового размера или адаптации под разные устройства.
Контроль размера текста на разных устройствах

Для корректного отображения текста на мобильных и десктопных устройствах рекомендуется использовать относительные единицы и медиа-запросы. Например, font-size: 1rem; для основного текста сохраняет пропорции при изменении базового размера в html.
Медиа-запросы позволяют задавать разные размеры для конкретных диапазонов экранов. Пример:
@media (max-width: 768px) { body { font-size: 0.9rem; } } уменьшает текст на планшетах и мобильных устройствах для сохранения читаемости и визуального баланса.
Для заголовков и кнопок рекомендуется использовать комбинацию rem и процентов, чтобы масштабировать элементы вместе с основным текстом, например, h1 { font-size: 2.5rem; }, а на мобильных устройствах уменьшать на 10–20%.
Также можно применять CSS функции clamp() и minmax() для автоматического ограничения диапазона размеров текста. Например, font-size: clamp(14px, 2vw, 24px); устанавливает минимальный, относительный и максимальный размер, адаптируя текст к ширине экрана.
Использование CSS переменных для управления шрифтами
CSS переменные позволяют централизованно управлять размерами шрифтов и упрощают масштабирование текста. Объявление переменной выполняется в корневом элементе :root:
:root { —base-font-size: 16px; —heading-size: 2rem; —small-text: 0.875rem; }
Использование переменных в стилях элементов:
- body { font-size: var(—base-font-size); } – основной текст;
- h1 { font-size: var(—heading-size); } – заголовки;
- small { font-size: var(—small-text); } – вспомогательный текст.
Переменные упрощают адаптацию под разные устройства через медиа-запросы. Пример:
@media (max-width: 768px) { :root { —base-font-size: 14px; —heading-size: 1.8rem; } }
Рекомендуется создавать отдельные переменные для ключевых размеров: базового текста, заголовков и мелких подписьных элементов. Это позволяет изменять масштаб всей типографики одним изменением переменной, сохраняя пропорции и иерархию текста.
Вопрос-ответ:
Какие единицы лучше использовать для задания размера шрифта на сайте?
Для точного контроля отдельных элементов используют абсолютные единицы, такие как px и pt. Для адаптивного дизайна и масштабирования текста на разных устройствах применяются относительные единицы: em, rem и проценты. rem удобно использовать для основных блоков текста, так как они привязаны к корневому размеру, а em — для вложенных элементов, чтобы сохранить пропорции.
Как правильно масштабировать текст для мобильных устройств?
Для мобильных экранов используют медиа-запросы, чтобы изменять базовый размер шрифта и сохранять читаемость. Например, задав html { font-size: 16px; } и внутри @media (max-width: 768px) { html { font-size: 14px; } }, текст автоматически уменьшится на смартфонах. Дополнительно можно использовать функции clamp() для ограничения минимального и максимального размера, что позволяет гибко адаптировать текст к разной ширине экрана.
Можно ли задавать размеры шрифтов с помощью ключевых слов?
Да, CSS поддерживает ключевые слова: xx-small, x-small, small, medium, large, x-large, xx-large, а также относительные smaller и larger. Эти значения задают тексту пропорциональные размеры без точного числа в пикселях. Их удобно применять для заголовков, списков и элементов интерфейса, когда важна визуальная иерархия, а точное число не требуется.
Зачем использовать CSS переменные для управления размером шрифтов?
CSS переменные позволяют централизованно управлять размерами текста и быстро изменять их для всех элементов одновременно. Например, через :root { —base-font-size: 16px; —heading-size: 2rem; } можно установить базовый текст и заголовки. Изменение переменной автоматически обновит все элементы, использующие её. Это удобно для адаптации дизайна под разные устройства и для поддержки единообразного стиля на сайте.
