0Pricing
React Academy · Урок

Токены в Tailwind, CSS-переменные и CSS-in-JS

Интегрируйте сгенерированные токены в конфигурацию Tailwind, пользовательские свойства CSS и темы Emotion или styled-components.

«Токены в Tailwind, CSS-переменные и CSS-in-JS» — бесплатный урок React Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения React Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс React Academy содержит 4 уроков всего.

Вывод пользовательских свойств CSS

Вывод платформы CSS в Style Dictionary создаёт файл с пользовательскими свойствами CSS: --color-primary-500: #3b82f6; --spacing-4: 16px; и так далее. Эти переменные определяются в :root, поэтому доступны глобально. Это основа для использования всех токенов в приложении.

Глобальный импорт токенов

Импортируйте созданный файл токенов CSS в глобальную таблицу стилей или корневой компонент макета: @import './tokens/tokens.css'. В Next.js импортируйте его в app/layout.tsx или styles/globals.css. После импорта любое правило CSS и любой компонент приложения смогут обращаться к пользовательским свойствам.

Использование токенов в CSS

Обращайтесь к переменным CSS в таблицах стилей компонентов или CSS-модулях: background-color: var(--color-primary-500); и padding: var(--spacing-4);. Если значение токена изменится в исходном JSON, повторная сборка Style Dictionary обновит файл CSS, и все компоненты, использующие эту переменную, автоматически получат новое значение.

Переключение тем во время выполнения с помощью переменных CSS

Пользовательские свойства CSS позволяют переключать темы во время выполнения. Для тёмного режима переопределите значения токенов под селектором темы: [data-theme="dark"] { --color-background: #1a1a2a; --color-text: #f0f0f0; }. Вызов document.documentElement.setAttribute('data-theme', 'dark') мгновенно переключает все значения токенов без перезагрузки или повторной сборки.

Расширение конфигурации Tailwind

Расширьте тему Tailwind в файле tailwind.config.js, чтобы использовать значения токенов: theme: { extend: { colors: { primary: { 500: tokenOutput.color.primary[500] } } } }. Импортируйте вывод JS из Style Dictionary в конфигурацию Tailwind, чтобы классы Tailwind (bg-primary-500) всегда использовали авторитетные значения токенов.

Tailwind со значениями переменных CSS

Чтобы темы Tailwind можно было переключать во время выполнения, настройте цвет так, чтобы он ссылался на переменную CSS: 'primary': 'rgb(var(--color-primary-rgb) / <alpha-value>)'. Для этого переменная CSS должна хранить компоненты RGB без оболочки rgb() (--color-primary-rgb: 59 130 246). После этого Tailwind автоматически обрабатывает утилиты прозрачности.

Интеграция Emotion и Styled-Components

Библиотеки CSS-in-JS используют объект темы на JavaScript. Передайте вывод Style Dictionary в качестве значения поставщика темы: <ThemeProvider theme={tokens}>. Компоненты получают токены через const theme = useTheme() и theme.color.primary[500]. Style Dictionary создаёт типизированный объект токенов, а поставщик темы передаёт его компонентам.

Контроль использования токенов с помощью правил статического анализа

Плагин stylelint-no-hardcoded-colors и пользовательские правила ESLint могут запретить жёстко заданные шестнадцатеричные значения в таблицах стилей и файлах компонентов. Если разработчик напишет color: #3b82f6 вместо color: var(--color-primary-500), средство статического анализа сообщит о нарушении. Это позволяет использовать систему токенов как единственный источник цветов.

Список разрешённых классов Tailwind для динамических токенов

Когда имена классов Tailwind во время выполнения создаются динамически из имён токенов, очистка Tailwind может удалить эти классы, поскольку в исходном коде они не представлены статическими строками. Добавьте шаблоны динамических классов в safelist файла tailwind.config.js: safelist: [{ pattern: /bg-primary-/ }].

Рабочий процесс плагина Figma Tokens

Плагин Figma Tokens экспортирует значения токенов из Figma непосредственно в формат JSON Style Dictionary. Рабочий процесс выглядит так: дизайнеры обновляют цвета в переменных Figma, экспортируют их с помощью плагина, фиксируют обновлённый JSON, скрипт предварительной сборки запускает Style Dictionary, а обновлённые результаты в CSS и JS используются в приложении React. Дизайн и код остаются синхронизированными.

Локальные переопределения токенов

Пользовательские свойства CSS имеют область действия в элементе, на котором они определены, и его потомках. Это позволяет переопределять тему на уровне компонента: компонент карточки может задать --color-background: var(--color-surface-elevated) на корневом элементе, и все потомки будут использовать цвет приподнятой поверхности без передачи свойств через цепочку компонентов.

Пользовательские свойства CSS и Tailwind для токенов

Каково ключевое преимущество использования пользовательских свойств CSS (переменных) для токенов дизайна по сравнению со статическими значениями Tailwind?

Итоги урока

Style Dictionary создаёт пользовательские свойства CSS для глобального импорта и объекты JS для интеграции с Tailwind и CSS-in-JS. Переменные CSS позволяют переключать темы во время выполнения с помощью переопределений [data-theme]. Tailwind расширяет свою конфигурацию значениями токенов из вывода JS; для поддержки прозрачности в темах настройте Tailwind на использование переменных CSS с компонентами RGB. Правила статического анализа требуют использовать только токены для цветов, не допуская жёстко заданных значений в кодовой базе.

Часто задаваемые вопросы

Урок «Токены в Tailwind, CSS-переменные и CSS-in-JS» бесплатный?

Да — полный текст урока «Токены в Tailwind, CSS-переменные и CSS-in-JS» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс React Academy, подпишись на CoddyKit PRO. Курс React Academy содержит 4 уроков всего.

Чему я научусь в уроке «Токены в Tailwind, CSS-переменные и CSS-in-JS»?

Интегрируйте сгенерированные токены в конфигурацию Tailwind, пользовательские свойства CSS и темы Emotion или styled-components. Ты практикуешь React Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать React Academy?

Предыдущий опыт не требуется. React Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Токены в Tailwind, CSS-переменные и CSS-in-JS»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке React Academy?

Да. Каждый урок React Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что такое токены дизайна и почему они важны
  2. Style Dictionary: преобразование и генерация токенов
  3. Токены в Tailwind, CSS-переменные и CSS-in-JS
  4. Архитектура токенов для нескольких тем и брендов
← Назад к React Academy