
CSS предоставляет различные способы настройки размера текста на веб-странице. Важно понимать, как выбрать подходящий метод в зависимости от контекста и нужд дизайна. Основной тег для задания размера текста – font-size, который можно настроить с помощью фиксированных или относительных единиц измерения. Это помогает не только задать визуальное восприятие текста, но и сделать сайт доступным для разных пользователей.
Наиболее распространенные единицы измерения для размера шрифта в CSS – пиксели (px), эм (em) и проценты (%). Пиксели предоставляют точность, но могут быть неудобны для изменения размера в разных браузерах. Эм и проценты, в свою очередь, зависят от родительского элемента, что обеспечивает гибкость при адаптивной верстке.
Эм позволяет устанавливать размер шрифта относительно размера шрифта родительского элемента. Например, если родительский элемент имеет шрифт 16px, то размер в 1em будет равен 16px. Важно помнить, что использование эм может привести к каскадному увеличению или уменьшению размера шрифта, если не контролировать это на каждом уровне.
Проценты работают аналогично, но могут быть менее очевидными в плане управления. Когда вы устанавливаете размер шрифта в процентах, например, 100%, это означает, что шрифт будет равен размеру родительского элемента. Этот метод полезен при работе с адаптивными интерфейсами, где важно учитывать размер экрана и другие факторы.
Как использовать свойство font-size для изменения размера текста

Свойство font-size в CSS регулирует размер шрифта текста. Оно может быть задано различными единицами измерения, такими как пиксели (px), проценты (%), em, rem и другие. Выбор единицы зависит от контекста использования и цели настройки текста.
Пример базового использования свойства:
| Единица измерения | Описание | Пример |
|---|---|---|
| px | Фиксированный размер, удобен для точной настройки. Размер не зависит от других элементов страницы. | font-size: 16px; |
| % | Размер шрифта в процентах от родительского элемента. Полезно для адаптивных дизайнов. | font-size: 120%; |
| em | Размер шрифта, относительно родительского элемента. 1em – это размер шрифта родителя. | font-size: 1.5em; |
| rem | Размер шрифта, относительно корневого элемента (html). Удобен для создания консистентных размеров по всей странице. |
font-size: 1.2rem; |
| vw | Размер шрифта в зависимости от ширины окна браузера, что позволяет адаптировать шрифт к размеру экрана. | font-size: 5vw; |
Использование различных единиц измерения позволяет гибко управлять размером шрифта. Например, для создания адаптивного текста на мобильных устройствах удобно использовать rem и em, так как они позволяют шрифту изменяться в зависимости от контекста. В то время как px подходит для точных настроек, где нужно сохранить фиксированный размер шрифта независимо от устройства.
Кроме того, важно учитывать каскадность стилей. При установке font-size в одном элементе, размер текста может быть наследован дочерними элементами, что поможет сохранить единообразие. Например:
| Пример | Результат |
|---|---|
body { font-size: 18px; }p { font-size: 1.2em; } |
Текст в теге p будет иметь размер 21.6px (18px * 1.2). |
Настройка font-size с помощью различных единиц помогает создавать более гибкие и масштабируемые дизайны, идеально подходящие для различных устройств и экранов.
Изменение размера текста с использованием относительных единиц (em, rem)
При работе с CSS для изменения размера текста часто применяются относительные единицы, такие как em и rem. Они позволяют гибко адаптировать шрифты под различные устройства и предпочтения пользователя, учитывая контекст родительского элемента.
Что такое em и rem?
em – единица измерения, основанная на размере шрифта родительского элемента. Например, если родительский элемент имеет размер шрифта 16px, то 1em будет равен 16px.
rem – единица измерения, основанная на размере шрифта корневого элемента (html). Обычно размер шрифта корня равен 16px, если не установлено иное. В отличие от em, rem не зависит от размера шрифта родительских элементов.
Как использовать em и rem?
Пример использования em:
- Если размер шрифта родителя – 16px, то 1em = 16px.
- Если внутри родительского элемента с размером шрифта 16px установить дочерний элемент с размером 1.5em, его размер будет 24px (1.5 * 16px).
Пример использования rem:
- Если размер шрифта корневого элемента – 16px, то 1rem = 16px независимо от вложенности элементов.
- При установке размера шрифта на 2rem внутри любого элемента, размер шрифта будет 32px (2 * 16px).
Преимущества использования em и rem

- Масштабируемость: Оба подхода позволяют тексту адаптироваться под различные размеры экранов и предпочтения пользователей (например, изменение размера шрифта в настройках браузера).
- Удобство управления: Использование
remпозволяет контролировать все размеры шрифтов с одного места – через размер шрифта корневого элемента. - Преемственность стилей:
emпозволяет гибко настраивать шрифт относительно контекста родительского элемента, что полезно для создания сложных компоновок.
Рекомендации по использованию

- Для глобального контроля шрифтов используйте
rem. Например, установитеfont-size: 16px;в корневом элементе, и используйтеremдля всех шрифтов, чтобы обеспечить единообразие. - Используйте
emдля адаптивных интерфейсов, когда необходимо, чтобы размер шрифта зависел от контекста, например, для управления шрифтами в карточках, панелях или других вложенных элементах. - Не злоупотребляйте слишком большими значениями
emдля вложенных элементов, так как это может привести к неожиданным результатам из-за каскадного влияния.
Пример кода
HTML:
<div class="parent">
<p class="child">Текст с размером шрифта, зависящим от родителя</p>
</div>
CSS:
.parent {
font-size: 18px;
}
.child {
font-size: 2em; /* 36px, так как 2 * 18px */
}
В результате, размер текста в дочернем элементе будет составлять 36px, поскольку 2em зависит от родительского элемента с размером шрифта 18px.
Как использовать медиазапросы для адаптивного изменения размера шрифта
Медиазапросы позволяют изменять стиль шрифта в зависимости от ширины экрана устройства. Это полезно для улучшения читаемости текста на мобильных устройствах и экранах разных размеров. Вместо фиксированных значений, медиазапросы позволяют задавать гибкие параметры шрифта, адаптируя его под различные разрешения.
Для начала необходимо определить, при каких условиях шрифт будет изменяться. Например, можно использовать медиазапросы, основанные на ширине экрана:
@media (max-width: 768px) {
body {
font-size: 14px;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
body {
font-size: 16px;
}
}
@media (min-width: 1025px) {
body {
font-size: 18px;
}
}
Этот код меняет размер шрифта в зависимости от ширины экрана. Для мобильных устройств с максимальной шириной 768px шрифт будет 14px, для планшетов от 769px до 1024px – 16px, а для экранов больше 1025px – 18px.
Вместо фиксированных значений можно использовать единицу измерения «vw» (viewport width), которая позволяет шрифту изменяться пропорционально ширине окна браузера:
h1 {
font-size: 10vw;
}
Здесь размер шрифта заголовка будет составлять 10% от ширины окна просмотра. Это особенно полезно для создания адаптивных заголовков, которые меняются в зависимости от размера экрана.
Также стоит учитывать использование функции clamp(), которая позволяет задавать минимальные и максимальные размеры шрифта в зависимости от ширины экрана. Пример:
h2 {
font-size: clamp(16px, 5vw, 32px);
}
В данном примере шрифт будет изменяться от 16px до 32px, в зависимости от ширины экрана, но никогда не выйдет за пределы этих значений.
Использование медиазапросов для управления размером шрифта помогает сделать веб-страницу удобной для просмотра на устройствах с различными размерами экранов. Адаптивный шрифт улучшает восприятие контента и повышает его доступность.
Работа с пиксельной сеткой: когда использовать px для размера текста
Размер текста, заданный в пикселях (px), остается одной из самых популярных единиц измерения в CSS. Это связано с тем, что пиксели точно соответствуют точкам на экране, что делает их удобными для работы с фиксированными размерами и пиксельной сеткой.
Использование px предпочтительно в тех случаях, когда необходимо добиться точного, неизменного размера текста независимо от разрешения экрана или устройства. Такой подход особенно актуален для дизайна, ориентированного на строго определённые размеры элементов интерфейса.
Когда использовать px для текста:
- Графический дизайн: Когда макет был создан с учётом точных размеров, например, для веб-приложений или сайтов с фиксированным дизайном.
- Элементы с фиксированными размерами: Если текст должен идеально вписываться в определённый контейнер или ограниченную область, где масштабирование может исказить вид.
- Стабильность внешнего вида: Для обеспечения идентичного отображения на разных устройствах с одинаковым разрешением экрана, где важно сохранить точность визуального отображения.
Однако, при использовании px, следует учитывать, что на разных устройствах с различной плотностью пикселей (например, мобильные телефоны с высоким разрешением экрана) размер текста будет восприниматься по-разному. Это может привести к неудобствам для пользователей, особенно если масштабирование текста на устройствах с меньшей плотностью пикселей не предусмотрено.
Для улучшения адаптивности и гибкости дизайна, рекомендуется сочетать px с другими единицами измерения, такими как em или rem, которые обеспечивают более гибкую настройку размеров текста с учётом контекста.
Управление размером текста для разных типов шрифтов и их контексты
При настройке размера текста важно учитывать особенности шрифтов, так как они могут вести себя по-разному в зависимости от их характеристик, таких как высота строки, толщина и форма символов. Например, для шрифтов с высокой высотой x (например, Arial или Helvetica) нужно уменьшать размер шрифта для поддержания гармонии, тогда как для шрифтов с низкой высотой x (например, Times New Roman или Georgia) можно увеличить размер, чтобы улучшить читаемость.
Для шрифтов с засечками, таких как Times New Roman, рекомендуется использовать размер шрифта от 16px до 18px для основного текста. Такие шрифты имеют дополнительные элементы, которые могут перегружать восприятие при меньших размерах. В то время как для беззасечных шрифтов, например, Arial или Open Sans, оптимальным размером является диапазон от 14px до 16px для удобства восприятия на экранах.
Для заголовков и выделений обычно применяется большая настройка. Например, для шрифта с засечками можно установить размер заголовков в диапазоне 24px-32px, а для шрифта без засечек – 22px-28px, в зависимости от контекста и расстояния между строками.
Контекст использования текста также важен. В интерфейсах мобильных приложений размеры шрифта часто корректируются для улучшения визуального восприятия. Для кратких текстов на мобильных устройствах можно использовать размер шрифта около 16px, а для больших блоков текста – 18px, чтобы избежать перегрузки.
Типографика для крупных экранов требует дополнительных настроек. Например, для экранов с разрешением 4K или в условиях проектирования веб-страниц с высокими требованиями к визуальному восприятию, размер шрифта для основного текста часто варьируется от 18px до 22px, в зависимости от плотности пикселей на экране.
Необходимо также учитывать ширину строк и межстрочный интервал (leading). Для длинных блоков текста на веб-страницах рекомендуется увеличивать межстрочный интервал до 1.5x от размера шрифта, чтобы улучшить читаемость. В мобильных версиях, где пространство ограничено, этот интервал может быть уменьшен до 1.2x, чтобы максимально эффективно использовать пространство.
Использование CSS переменных для гибкой настройки размера шрифта
CSS переменные, или кастомные свойства, предоставляют мощный инструмент для динамичного изменения размера шрифта на сайте. Вместо того, чтобы вручную изменять размеры шрифта в каждом элементе, можно задать переменную и использовать её в различных местах, что облегчает управление стилями и улучшает гибкость.
Пример использования переменной для размера шрифта:
:root {
--font-size: 16px;
}
p {
font-size: var(--font-size);
}
В этом примере переменная —font-size определяет размер шрифта для всех параграфов. Такой подход позволяет быстро изменять размер шрифта на всей странице, изменив только значение переменной в :root.
Чтобы сделать размер шрифта адаптивным, можно комбинировать CSS переменные с медиазапросами. Например, чтобы шрифт изменялся в зависимости от ширины экрана:
:root {
--font-size: 16px;
}
@media (max-width: 600px) {
:root {
--font-size: 14px;
}
}
p {
font-size: var(--font-size);
}
Теперь на экранах шириной менее 600px размер шрифта уменьшится до 14px, что обеспечит лучшую читаемость на мобильных устройствах.
Для ещё большей гибкости можно использовать расчёты на основе других переменных или значений. Например, если вы хотите, чтобы размер шрифта зависел от базового размера:
:root {
--base-size: 1rem;
--font-size: calc(var(--base-size) * 1.5);
}
p {
font-size: var(--font-size);
}
Здесь размер шрифта вычисляется как 1.5 от базового размера шрифта (1rem). Такой подход позволяет настроить размеры шрифтов, основываясь на других параметрах, что упрощает их адаптацию под различные условия.
Использование CSS переменных не только упрощает управление стилями, но и способствует улучшению производительности, так как браузер должен пересчитывать только значения переменных, а не каждый стиль отдельно.
