Типография
Утилиты для управления семейством шрифтов элемента.
Вы можете управлять шрифтом текста с помощью утилит семейства шрифтов.
Быстрая коричневая лиса прыгает через ленивую собаку.
Быстрая коричневая лиса прыгает через ленивую собаку.
Быстрая коричневая лиса прыгает через ленивую собаку.
<p class="font-sans ...">Быстрая коричневая лиса ...</p>
<p class="font-serif ...">Быстрая коричневая лиса ...</p>
<p class="font-mono ...">Быстрая коричневая лиса ...</p>
Tailwind позволяет условно применять служебные классы в разных состояниях с помощью модификаторов вариантов. Например, используйте hover:font-serif
, чтобы применять утилиту font-serif
только при hover.
<p class="font-sans hover:font-serif">
<!-- ... -->
</p>
Полный список всех доступных модификаторов состояния смотрите в документации Наведение, фокус и другие состояния.
Вы также можете использовать модификаторы вариантов для таргетинга на медиа-запросы, такие как реагирующие контрольные точки, темный режим, предпочтения с уменьшенным движением и многое другое. Например, используйте md:font-serif
, чтобы применить утилиту font-serif
только на экранах среднего размера и выше.
<p class="font-sans md:font-serif">
<!-- ... -->
</p>
Чтобы узнать больше, ознакомьтесь с документацией по адаптивному дизайну, темному режиму и другим модификаторам медиазапросов.
По умолчанию Tailwind предоставляет три утилиты семейства шрифтов: кроссбраузерный стек без засечек, кроссбраузерный стек с засечками и кроссбраузерный моноширинный стек. Вы можете изменить, добавить или удалить их, отредактировав раздел theme.fontFamily
в Вашей конфигурации Tailwind.
module.exports = {
theme: {
fontFamily: {
'sans': ['ui-sans-serif', 'system-ui', ...],
'serif': ['ui-serif', 'Georgia', ...],
'mono': ['ui-monospace', 'SFMono-Regular', ...],
'display': ['Oswald', ...],
'body': ['"Open Sans"', ...],
}
}
}
Семейства шрифтов можно указать как массив или как простую строку с разделителями-запятыми:
{
// Array format:
'sans': ['Helvetica', 'Arial', 'sans-serif'],
// Comma-delimited format:
'sans': 'Helvetica, Arial, sans-serif',
}
Обратите внимание, что Tailwind не экранирует имена шрифтов автоматически для Вас. Если вы используете шрифт, содержащий недопустимый идентификатор, заключите его в кавычки или экранируйте недопустимые символы.
{
// Не сработает:
'sans': ['Exo 2', ...],
// Добавьте кавычки:
'sans': ['"Exo 2"', ...],
// ...или экранируйте из пробела:
'sans': ['Exo\\ 2', ...],
}
Как и в любом другом веб-проекте, обязательно включите в свой CSS необходимые правила @font-face
или @import
для любых пользовательских шрифтов, которые вы используете, чтобы эти шрифты загружались браузером для вашего сайта:
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts/Roboto.woff2) format('woff2');
}
}
Узнайте больше о настройке темы по умолчанию в документации настройка темы documentation.
При желании вы можете указать настройки-функции-шрифта по умолчанию и настройки-вариации-шрифта для каждого шрифта в вашем проекте, используя кортеж формы [fontFamilies, { fontFeatureSettings, fontVariationSettings }]
при настройке пользовательского шрифты.
module.exports = {
theme: {
fontFamily: {
sans: [
'"Inter var", sans-serif',
{
fontFeatureSettings: '"cv11", "ss01"',
fontVariationSettings: '"opsz" 32'
},
],
},
},
}
Если вам нужно использовать одноразовое font-family
, которое не имеет смысла включать в вашу тему, используйте квадратные скобки для создания свойства на лету с использованием любого произвольного значения.
<p class="font-['Open_Sans']">
<!-- ... -->
</p>
Узнайте больше о поддержке произвольных значений в документации по произвольным значениям.
Для удобства Preflight устанавливает семейство шрифтов в элементе html
в соответствии с настроенным шрифтом sans
, поэтому один из способов изменить шрифт по умолчанию для вашего проекта — настроить ключ sans
в вашей конфигурации fontFamily
:
const defaultTheme = require('tailwindcss/defaultTheme')
module.exports = {
theme: {
extend: {
fontFamily: {
'sans': ['"Proxima Nova"', ...defaultTheme.fontFamily.sans],
},
}
}
}
Вы также можете настроить шрифт по умолчанию, используемый в вашем проекте, добавив собственный базовый стиль, который явно задает свойство font-family
:
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
html {
font-family: "Proxima Nova", system-ui, sans-serif;
}
}
Это лучший подход, если вы настроили утилиты семейства шрифтов, чтобы они имели разные имена, и не хотите, чтобы в вашем проекте была доступна утилита font-sans
.