
В веб-разработке выбор и настройка шрифта напрямую влияют на читаемость текста и восприятие сайта. Для управления шрифтами используется свойство font-family, которое позволяет указать конкретный набор гарнитур. Рекомендуется указывать несколько вариантов: основной шрифт, альтернативный и запасной из стандартных системных.
Пример записи: font-family: «Roboto», «Arial», sans-serif;. В этом случае браузер сначала попробует применить Roboto, при его отсутствии – Arial, и только затем любой доступный шрифт из семейства sans-serif. Такой подход обеспечивает корректное отображение текста на разных устройствах.
Чтобы подключить нестандартные шрифты, используется правило @font-face. Оно позволяет загружать файлы форматов WOFF2, WOFF, TTF или OTF. Важно включать несколько форматов для совместимости со старыми браузерами. Также стоит контролировать вес файлов: слишком тяжёлые шрифты замедляют загрузку страницы.
Дополнительно для улучшения отображения текста можно применять свойства font-weight для настройки толщины, font-style для выбора начертания и line-height для управления межстрочным интервалом. Эти параметры позволяют не только изменить внешний вид, но и повысить удобство чтения.
Подключение системных шрифтов через font-family
Системные шрифты позволяют использовать уже установленные на устройстве пользователя гарнитуры, что ускоряет загрузку страницы и снижает вес проекта. В CSS их задают через свойство font-family, указывая список приоритетов.
Например, для текстов интерфейса можно использовать стек:
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}
Такой набор охватывает основные платформы: macOS и iOS (-apple-system), Windows (Segoe UI), Android (Roboto), Linux-дистрибутивы (Oxygen, Ubuntu, Cantarell), а также fallback-шрифты.
Важно указывать несколько вариантов, так как одинаковые названия могут отсутствовать на разных системах. Заключение названий с пробелами в кавычки обязательно.
В конце списка рекомендуется добавлять общий класс (serif, sans-serif, monospace), чтобы браузер всегда имел запасной вариант.
Использование запасных шрифтов в списке font-family

Свойство font-family позволяет указать несколько шрифтов через запятую. Браузер применяет первый доступный, а при его отсутствии переходит к следующему. Такой подход гарантирует корректное отображение текста при отсутствии основного варианта.
Сначала указывают конкретный шрифт, затем близкий по начертанию и в конце общее семейство (serif, sans-serif, monospace). Всегда используйте кавычки для названий с пробелами.
| Пример | Описание |
|---|---|
font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; |
Основной – Roboto; если он недоступен, подключается Helvetica Neue, затем Arial; в крайнем случае любое sans-serif семейство. |
font-family: Georgia, "Times New Roman", serif; |
Georgia используется первым, при отсутствии подключается Times New Roman или стандартное serif-начертание. |
font-family: "Courier New", Courier, monospace; |
Задаёт моноширинное отображение, где приоритет у Courier New. |
Рекомендуется комбинировать веб-шрифты с системными аналогами, чтобы минимизировать различия в отображении текста на разных устройствах.
Задание размеров текста с помощью font-size

Свойство font-size задаёт размер шрифта для элемента и принимает абсолютные или относительные значения. Наиболее часто используются пиксели (px), em, rem и проценты.
Пиксели фиксируют размер, например: p { font-size: 16px; }. Такой способ обеспечивает точное отображение, но не учитывает настройки браузера пользователя.
em рассчитывается относительно размера шрифта родительского элемента. Например: span { font-size: 1.2em; } увеличит текст на 20% от базового.
rem зависит от корневого элемента (html). Если задано html { font-size: 10px; }, то 2rem будет равняться 20px, независимо от вложенности.
Проценты масштабируются от родителя. Запись p { font-size: 120%; } увеличит текст на 20% по сравнению с родительским размером.
Для адаптивных интерфейсов применяют единицы vw и vh, зависящие от ширины и высоты окна. Например: h1 { font-size: 5vw; } масштабирует заголовок пропорционально экрану.
Рекомендуется использовать относительные единицы (em, rem, %) для гибкой подстройки под разные устройства и настройки пользователя, оставляя пиксели только для строго фиксированных элементов.
Подключение сторонних шрифтов через @font-face

Правило @font-face позволяет использовать собственные файлы шрифтов вместо ограниченного набора системных. Для корректной работы необходимо указать несколько форматов: WOFF2 (современный и сжатый), WOFF (более совместимый), TTF/OTF (резервный вариант) и SVG/EOT для старых браузеров.
Пример подключения:
@font-face {
font-family: 'MyFont';
src: url('fonts/myfont.woff2') format('woff2'),
url('fonts/myfont.woff') format('woff');
font-weight: 400;
font-style: normal;
}
После объявления можно использовать шрифт в любом селекторе:
body {
font-family: 'MyFont', sans-serif;
}
Файлы шрифтов лучше хранить в отдельной папке fonts/, а пути указывать относительно CSS-файла. Для ускорения загрузки рекомендуется применять только нужные начертания и подключать preload в <head> с атрибутом as=»font» и crossorigin, если файлы находятся на другом домене.
Использование Google Fonts для изменения шрифта
Google Fonts предоставляет бесплатные веб-шрифты, которые можно подключать напрямую через ссылку или импортировать в CSS. Это позволяет использовать типографику, отсутствующую на устройстве пользователя.
- Перейдите на Google Fonts и выберите нужный шрифт.
- Скопируйте тег
<link>с подключением выбранного семейства. - Вставьте его внутрь секции
<head>HTML-документа.
<link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
После подключения используйте свойство font-family в CSS:
body {
font-family: 'Roboto', sans-serif;
}
Рекомендации:
- Указывайте запасные шрифты через запятую (например,
sans-serif), чтобы сохранить читаемость при проблемах с загрузкой. - Подключайте только те начертания, которые действительно используются, иначе увеличится время загрузки.
- Для экономии запросов объединяйте несколько семейств в одном
<link>. - Проверяйте отображение на разных устройствах и языках – поддержка кириллицы может отличаться.
Настройка начертания и толщины через font-style и font-weight

font-style управляет наклоном текста. Допустимые значения: normal – стандартное начертание, italic – курсив, oblique – косое начертание, которое отличается от italic возможностью задавать угол наклона через CSS-трансформации. Пример применения:
p { font-style: italic; }
font-weight регулирует толщину шрифта. Значения можно задавать численно от 100 до 900 с шагом 100, где 400 соответствует нормальной толщине, а 700 – жирному. Кроме чисел доступны ключевые слова: normal, bold, bolder, lighter. Пример:
h1 { font-weight: 600; }
Для комбинирования начертания и толщины можно использовать несколько свойств одновременно. Например, курсивный полужирный текст задается так:
span { font-style: italic; font-weight: 600; }
Некоторые шрифты поддерживают ограниченный набор весов. При использовании несоответствующего значения браузер применяет ближайший доступный вес. Для точного контроля отображения рекомендуется проверять доступные варианты через @font-face или системные шрифты.
Вопрос-ответ:
Как изменить шрифт текста на всей странице с помощью CSS?
Чтобы изменить шрифт на всей странице, можно использовать селектор body в CSS. Например, добавить правило: body { font-family: Arial, sans-serif; }. Это применит выбранный шрифт ко всему тексту внутри страницы, если для отдельных элементов не указаны другие шрифты.
Можно ли использовать несколько шрифтов для одного текста, и как это сделать?
Да, CSS позволяет задать список шрифтов через запятую: font-family: "Times New Roman", Georgia, serif;. Браузер будет использовать первый доступный шрифт из списка. Если первый шрифт недоступен на устройстве пользователя, автоматически будет выбран следующий.
Чем отличаются системные и веб-шрифты в CSS?
Системные шрифты уже установлены на устройстве пользователя и могут использоваться сразу. Веб-шрифты загружаются с сервера через CSS, например с помощью @font-face или сервисов вроде Google Fonts. Веб-шрифты дают больше разнообразия, но могут замедлять загрузку страницы при медленном соединении.
Как изменить размер шрифта и сделать его адаптивным для разных экранов?
Размер шрифта меняется через свойство font-size. Можно указывать в пикселях, пунктах или процентах. Для адаптивного текста лучше использовать относительные единицы, такие как em или rem. Например: p { font-size: 1.2rem; } — размер текста будет зависеть от базового размера на странице и подстраиваться под экран.
Можно ли изменить стиль шрифта только для заголовков или определённых абзацев?
Да, для этого применяются селекторы CSS, соответствующие элементам. Например, чтобы изменить шрифт всех заголовков второго уровня: h2 { font-family: "Courier New", monospace; }. Для отдельных абзацев можно использовать классы: p.highlight { font-family: Georgia, serif; }, где только абзацы с классом highlight будут иметь заданный шрифт.
