Как подключить шрифт на сайт
Есть два способа: подключить шрифт с сервиса шрифтов строкой в <head> или положить файл шрифта в папку сайта и описать его в CSS через @font-face. Первый проще, второй не зависит от чужого сервера. В обоих случаях дальше шрифт указывают в font-family, как обычный.
Как подключить
С Google Fontsстрока link в head
На fonts.google.com выберите шрифт, нужные начертания (обычный 400, жирный 700) и возьмите код для вставки. Он выглядит так — для шрифта Roboto:
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">Эти строки — в <head>, до вашего style.css. В CSS:
body {
font-family: "Roboto", Arial, sans-serif;
}wght@400;700— подключаются только перечисленные начертания. Каждое лишнее — лишний файл для посетителя.display=swap— пока шрифт грузится, текст виден запасным шрифтом, а не пропадает.preconnectзаранее открывает соединение с серверами шрифтов, чтобы шрифт пришёл быстрее.Arial, sans-serifпосле названия — запасные шрифты на случай, если Roboto не загрузится.
Свой файл шрифта@font-face в CSS
Положите файлы в папку сайта, например fonts/, и опишите каждое начертание в начале CSS-файла:
@font-face {
font-family: "Roboto";
src: url("../fonts/roboto-regular.woff2") format("woff2");
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: "Roboto";
src: url("../fonts/roboto-bold.woff2") format("woff2");
font-weight: 700;
font-style: normal;
font-display: swap;
}
body {
font-family: "Roboto", Arial, sans-serif;
}font-familyв@font-face— имя, под которым шрифт будет доступен в CSS; у всех начертаний одно.font-weightсвязывает файл с насыщенностью:<strong>иfont-weight: 700возьмут жирный файл. Если описать только обычное начертание, браузер нарисует «жирный» сам, и выглядит это хуже.- Путь в
url()считается от CSS-файла, а не от страницы: изcss/style.cssдоfonts/—../fonts/….
Формат. WOFF2 — сжатый формат для сайтов, его понимают все современные браузеры. Если есть только .ttf, подключите его так же с format("truetype"), но весит он заметно больше.
Свой файл не зависит от чужого сервера и не делает лишних запросов на другие сайты.
Подводные камни
- Нет русских букв в шрифте — тогда русский текст покажется запасным шрифтом. Перед выбором проверьте, что у шрифта есть кириллица (на Google Fonts шрифты можно отобрать по языку).
- Название в
font-familyне совпадает с названием в@font-faceили в коде сервиса — шрифт не применится. Сверьте написание и кавычки. - Неверный путь в
url()— частая ошибка: путь от CSS-файла. Проверьте вкладку «Network» («Сеть») в инструментах разработчика: у ненайденного файла шрифта будет код 404. - Лицензия. Шрифты Google Fonts открытые, их можно использовать и на коммерческих сайтах и хранить у себя. У платных и «скачанных где-то» шрифтов проверьте условия: бесплатный для печати шрифт не всегда можно выкладывать на сайт.
- Много шрифтов — медленный сайт. Двух семейств и двух-трёх начертаний обычно хватает.
Можно обойтись и без загрузки: font-family: system-ui, sans-serif; берёт системный шрифт устройства. На каждой системе он свой, зато ничего не нужно скачивать.