Краткая справка

Класс
Свойства
font-sansfont-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-seriffont-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
font-monofont-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

Основы использования

Установка семейства шрифтов

Вы можете управлять шрифтом текста с помощью утилит семейства шрифтов.

font-sans

Быстрая коричневая лиса прыгает через ленивую собаку.

font-serif

Быстрая коричневая лиса прыгает через ленивую собаку.

font-mono

Быстрая коричневая лиса прыгает через ленивую собаку.

<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.

tailwind.config.js
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 для любых пользовательских шрифтов, которые вы используете, чтобы эти шрифты загружались браузером для вашего сайта:

app.css
@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 }] при настройке пользовательского шрифты.

tailwind.config.js
module.exports = {
  theme: {
    fontFamily: {
      sans: [
        '"Inter var", sans-serif',
        {
          fontFeatureSettings: '"cv11", "ss01"',
          fontVariationSettings: '"opsz" 32'
        },
      ],
    },
  },
}

Произвольные значения

Если вам нужно использовать одноразовое font-family value, которое не имеет смысла включать в вашу тему, используйте квадратные скобки, чтобы сгенерировать свойство на лету, используя любое произвольное значение.

<p class="font-['Open_Sans']">
  <!-- ... -->
</p>

Узнайте больше о поддержке произвольных значений в документации по произвольным значениям.

Настройка шрифта по умолчанию

Для удобства Preflight устанавливает семейство шрифтов в элементе html в соответствии с настроенным шрифтом sans, поэтому один из способов изменить шрифт по умолчанию для вашего проекта — настроить ключ sans в вашей конфигурации fontFamily:

tailwind.config.js
const defaultTheme = require('tailwindcss/defaultTheme')

module.exports = {
  theme: {
    extend: {
      fontFamily: {
        'sans': ['"Proxima Nova"', ...defaultTheme.fontFamily.sans],
      },
    }
  }
}

Вы также можете настроить шрифт по умолчанию, используемый в вашем проекте, добавив собственный базовый стиль, который явно задает свойство font-family:

main.css
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  html {
    font-family: "Proxima Nova", system-ui, sans-serif;
  }
}

Это лучший подход, если вы настроили утилиты семейства шрифтов, чтобы они имели разные имена, и не хотите, чтобы в вашем проекте была доступна утилита font-sans.