
Размер шрифта в CSS задается через свойства font-size и может быть указан в пикселях (px), относительных единицах (em, rem) или процентах (%). Для точного контроля над отображением текста на разных устройствах чаще всего применяют rem, поскольку он привязан к корневому элементу и обеспечивает консистентность интерфейса.
При выборе пиксельного значения важно учитывать базовый размер текста браузера – обычно это 16px. Например, font-size: 18px; будет на 12,5% крупнее стандартного текста, что улучшает читаемость на экранах с высоким разрешением. Для гибких макетов применяют относительные единицы: 1.2em увеличивает размер на 20% относительно родительского элемента, что полезно при адаптивной верстке.
Процентные значения font-size работают аналогично em, но выражаются в процентах от размера родителя. Например, 120% эквивалентно 1.2em. Использование процентов удобно для масштабирования текста без изменения корневого размера, особенно при работе с динамическим контентом.
Для оптимизации читаемости на мобильных устройствах рекомендуется комбинировать rem и медиазапросы: @media (max-width: 768px) { font-size: 1rem; }. Такой подход позволяет сохранять пропорции текста и избегать чрезмерного увеличения или уменьшения элементов интерфейса.
Сравнивая единицы, px обеспечивает точный контроль, em и rem – гибкость и масштабируемость, %, как правило, используется для наследуемых компонентов. Выбор зависит от конкретных требований проекта и целей адаптивности.
Как задать размер шрифта в пикселях

Размер шрифта в CSS задается через свойство font-size. Для указания пикселей используется числовое значение с единицей px. Пример: font-size: 16px;.
Рекомендуется использовать базовый размер 16px для основного текста, так как это стандартная величина в большинстве браузеров. Заголовки обычно увеличивают этот размер: h1 { font-size: 32px; }, h2 { font-size: 24px; }.
При использовании пикселей текст сохраняет точную визуальную величину на всех устройствах, но не масштабируется автоматически при изменении настроек браузера. Для адаптивного дизайна комбинируйте пиксели с относительными единицами, например em или rem, для вложенных элементов.
Для разных устройств часто применяют медиазапросы. Например: @media (max-width: 768px) { body { font-size: 14px; } } уменьшает размер текста на планшетах и смартфонах, сохраняя читаемость.
Минимальные размеры следует ограничивать 12px для основного текста и 10px для вспомогательных элементов, чтобы не ухудшить восприятие. Максимальные значения используют для акцентов: 48–72px для крупных заголовков.
Важно помнить, что пиксели в CSS точные и независимы от настроек дисплея, поэтому тестирование на разных экранах помогает убедиться, что текст читается корректно без прокрутки или масштабирования.
Использование относительных единиц (em, rem) для текста

Единица em определяется относительно размера шрифта родительского элемента. Например, если у блока установлен font-size: 16px, значение 1.5em для дочернего элемента даст 24px. Это позволяет создавать масштабируемую иерархию текста, где вложенные элементы увеличиваются или уменьшаются пропорционально родителю.
Единица rem всегда привязана к корневому элементу (html). При font-size: 16px на html значение 2rem у любого элемента превратится в 32px независимо от вложенности. Использование rem обеспечивает предсказуемость и единообразие размеров, особенно в крупных проектах с глобальными стилями.
Для комбинации масштабируемости и контроля рекомендуется: устанавливать базовый размер текста через rem на корневом уровне, а для локального увеличения текста использовать em. Например, заголовки могут иметь font-size: 2rem, а подписи внутри них – 0.75em, что даст 1.5rem относительно заголовка.
При адаптивной верстке удобно изменять font-size на html через медиазапросы, и все rem-значения будут автоматически масштабироваться. Для точной типографики лучше комбинировать rem для основных блоков и em для модификаций внутри них.
С точки зрения доступности, использование em и rem помогает пользователю изменять базовый размер шрифта в браузере без поломки дизайна, в отличие от фиксированных пиксельных значений. Это повышает читаемость и совместимость с устройствами с различными разрешениями экрана.
Настройка размера шрифта с помощью процентов

Размер шрифта в процентах задаётся относительно родительского элемента. Значение 100% соответствует базовому размеру шрифта родителя, чаще всего 16px в браузерах по умолчанию. Использование процентов позволяет создавать адаптивную типографику без привязки к конкретным пикселям.
Пример: если у родителя font-size = 16px, установка дочернего элемента font-size: 125% даст 16 × 1,25 = 20px.
| Процент | Эффективный размер (при 16px родителя) | Применение |
|---|---|---|
| 50% | 8px | Подписи, мелкие элементы |
| 75% | 12px | Второстепенный текст |
| 100% | 16px | Основной текст |
| 125% | 20px | Заголовки уровней H4–H5 |
| 150% | 24px | Подзаголовки H3 |
| 200% | 32px | Основные заголовки H1–H2 |
Проценты удобны при использовании каскадных стилей: увеличение размера шрифта у родителя автоматически масштабирует дочерние элементы. Для мобильной оптимизации рекомендуется задавать базовый размер родителя в процентах относительно корневого html элемента (например, html { font-size: 100%; }), а все текстовые блоки – в процентах от этого значения.
При комбинировании с медиа-запросами можно плавно изменять размеры шрифта:
@media (max-width: 768px) { body { font-size: 90%; } } – уменьшает текст на планшетах и смартфонах без нарушения пропорций между элементами.
Применение ключевых слов для размеров шрифта

В CSS ключевые слова позволяют задавать размер шрифта без точных числовых значений. Основные ключевые слова: xx-small, x-small, small, medium, large, x-large, xx-large, smaller и larger. Они устанавливают относительный или абсолютный размер текста.
Ключевые слова xx-small–xx-large соответствуют фиксированным шагам относительно браузерного базового размера, обычно равного 16px. Например, small примерно 13px, medium – 16px, large – 18px, но точные значения зависят от браузера и настроек пользователя.
smaller и larger применяются относительно родительского элемента. Если родитель имеет medium, то smaller уменьшит размер на один шаг, а larger увеличит.
Использование ключевых слов удобно при проектировании интерфейсов с адаптивной типографикой, так как они сохраняют относительные пропорции при изменении базового размера текста пользователем. Рекомендуется комбинировать ключевые слова с относительными единицами (em, rem) для точной адаптации под разные устройства.
Для элементов с важной информацией ключевые слова помогают быстро увеличить видимость текста без изменения конкретных пиксельных значений, что повышает доступность и совместимость с настройками пользователей.
Управление размером шрифта в медиазапросах
Медиазапросы позволяют адаптировать размер шрифта под различные устройства, обеспечивая читаемость и корректное отображение контента. Основная практика – использование относительных единиц, таких как em, rem или vw, вместо фиксированных пикселей.
Пример базовой структуры медиазапроса:
@media (max-width: 768px) {
body {
font-size: 14px;
}
}
@media (min-width: 769px) and (max-width: 1200px) {
body {
font-size: 16px;
}
}
@media (min-width: 1201px) {
body {
font-size: 18px;
}
}
Рекомендации по настройке шрифтов в медиазапросах:
- Для мобильных экранов (≤ 480px) используйте
14–16pxили0.875–1remдля основного текста. - Для планшетов (481–1024px) оптимальный диапазон –
16–18pxили1–1.125rem. - Для десктопов (> 1024px) применяйте
18–20pxили1.125–1.25remдля комфортного чтения. - Используйте относительные единицы (
em,rem) для заголовков, чтобы их размер масштабировался пропорционально базовому шрифту. - Избегайте абсолютного увеличения шрифтов в процентах для отдельных элементов – это может нарушить визуальную иерархию на разных экранах.
Дополнительно, динамическая адаптация через clamp() позволяет задать минимальный, идеальный и максимальный размер шрифта в одном выражении:
h1 {
font-size: clamp(24px, 4vw, 36px);
}
Эта техника обеспечивает плавное масштабирование шрифтов без необходимости писать отдельные медиазапросы для каждого разрешения экрана.
Подстройка размера шрифта для разных элементов
Для заголовков оптимально использовать единицы rem или em: h1 { font-size: 2.5rem; }, h2 { font-size: 2rem; }. Это сохраняет пропорции при изменении базового размера шрифта документа.
Для параграфов стандартный диапазон 1rem–1.125rem. При длинных текстах стоит уменьшать размер до 0.9rem для экономии места, но не меньше, чтобы не ухудшить читаемость.
Меню навигации и кнопки удобнее масштабировать в em, так как они наследуют размеры шрифта родителя и сохраняют пропорциональность при адаптивной верстке: nav a { font-size: 1em; }.
Мелкий текст, такой как примечания или подписи к изображениям, рекомендуется задавать в диапазоне 0.75rem–0.875rem, чтобы не перегружать визуально основной контент.
Для адаптивного дизайна используйте медиазапросы: @media (max-width: 768px) { h1 { font-size: 2rem; } }. Это позволяет уменьшать заголовки и текст при сужении экрана без потери читаемости.
Смешанные единицы – rem для базового текста и em для вложенных элементов – обеспечивают гибкость. Например, article p { font-size: 1rem; } article p strong { font-size: 1.2em; } выделяет важные слова пропорционально окружающему тексту.
Не стоит использовать px для всех элементов, так как фиксированные размеры плохо масштабируются на устройствах с разной плотностью пикселей и настройками пользователя.
Вопрос-ответ:
Какие единицы измерения шрифта лучше использовать в CSS?
В CSS для размера шрифта применяются разные единицы, включая пиксели (px), относительные единицы (em, rem), проценты (%) и единицы viewport (vw, vh). Пиксели дают точный контроль над размером текста, но не масштабируются при изменении настроек браузера. Em и rem позволяют сделать интерфейс гибким: em зависит от размера шрифта родительского элемента, а rem — от корневого. Проценты работают аналогично em, а vw и vh делают текст зависимым от размера окна. Выбор зависит от того, хотите ли вы фиксированный размер или адаптивный под разные устройства.
Можно ли менять размер шрифта только для определённых частей текста на странице?
Да, CSS позволяет задавать размер шрифта для конкретных элементов через селекторы. Например, вы можете изменить текст заголовка h1 отдельно от параграфов p, используя правила вида h1 { font-size: 36px; } и p { font-size: 16px; }. Также можно назначить классы или идентификаторы, чтобы управлять размером текста отдельных блоков, не затрагивая другие элементы.
Как использовать относительные единицы, чтобы текст корректно масштабировался на разных устройствах?
Относительные единицы, такие как em и rem, позволяют шрифту подстраиваться под настройки пользователя или размеры родительских элементов. Например, если базовый размер корневого элемента html { font-size: 16px; }, то p { font-size: 1.2rem; } даст текст размером 19.2px. Использование этих единиц помогает сохранять пропорции текста при изменении масштаба страницы и делает сайт более удобным для пользователей с разными устройствами и настройками.
Есть ли разница между пикселями и пунктами (pt) в CSS?
Пиксели (px) — это экранная единица, а пункты (pt) исторически использовались в печати (1pt ≈ 1/72 дюйма). В вебе px чаще применяются, так как они точнее отображаются на мониторах. Pt может использоваться в стилях для печатных версий страниц, но на экране их поведение может отличаться в зависимости от браузера и разрешения. Если цель — четкая визуализация текста на экране, лучше использовать пиксели или относительные единицы.
Как сделать так, чтобы текст оставался читабельным при увеличении масштаба страницы?
Чтобы текст оставался удобным для чтения при масштабировании, рекомендуется использовать относительные единицы (em, rem, %) вместо фиксированных пикселей. Кроме того, можно устанавливать минимальные и максимальные размеры через CSS-свойства min-font-size и max-font-size с помощью медиа-запросов. Это позволяет адаптировать текст под разные устройства и настройки браузера, не нарушая структуру страницы и сохраняя комфортное чтение.
