Основные концепции
Справочник по пользовательским функциям и директивам, которые Tailwind предоставляет для вашего CSS.
Директивы - это пользовательские at-правила, специфичные для Tailwind, которые вы можете использовать в своем CSS и которые предлагают специальную функциональность для проектов Tailwind CSS.
Используйте директиву @import для встраивания CSS файлов, включая сам Tailwind:
@import "tailwindcss";Используйте директиву @theme для определения пользовательских дизайн-токенов вашего проекта, таких как шрифты, цвета и контрольной точки:
@theme { --font-display: "Satoshi", "sans-serif"; --breakpoint-3xl: 120rem; --color-avocado-100: oklch(0.99 0 0); --color-avocado-200: oklch(0.98 0.04 113.22); --color-avocado-300: oklch(0.94 0.11 115.03); --color-avocado-400: oklch(0.92 0.19 114.08); --color-avocado-500: oklch(0.84 0.18 117.33); --color-avocado-600: oklch(0.53 0.12 118.34); --ease-fluid: cubic-bezier(0.3, 0, 0, 1); --ease-snappy: cubic-bezier(0.2, 0, 0, 1); /* ... */}Узнайте больше о кастомизации вашей темы в документации по переменным темы.
Используйте директиву @source для явного указания исходных файлов, которые не обнаруживаются автоматическим обнаружением контента Tailwind:
@source "../node_modules/@my-company/ui-lib";Узнайте больше об автоматическом обнаружении контента в документации по обнаружению классов в исходных файлах.
Используйте директиву @utility для добавления пользовательских утилит в ваш проект, которые работают с вариантами типа hover, focus и lg:
@utility tab-4 { tab-size: 4;}Узнайте больше о регистрации пользовательских утилит в документации по добавлению пользовательских утилит.
Используйте директиву @variant для применения варианта Tailwind к стилям в вашем CSS:
.my-element { background: white; @variant dark { background: black; }}Узнайте больше об использовании вариантов в документации по использованию вариантов.
Используйте директиву @custom-variant для добавления пользовательского варианта в ваш проект:
@custom-variant theme-midnight (&:where([data-theme="midnight"] *));Это позволяет вам писать утилиты theme-midnight:bg-black и theme-midnight:text-white.
Узнайте больше о добавлении пользовательских вариантов в документации по добавлению пользовательских вариантов.
Используйте директиву @apply для встраивания любых существующих классов утилит в ваш собственный пользовательский CSS:
.select2-dropdown { @apply rounded-b-lg shadow-md;}.select2-search { @apply rounded border border-gray-300;}.select2-results__group { @apply text-lg font-bold text-gray-900;}Это полезно, когда вам нужно написать пользовательский CSS (например, для переопределения стилей в сторонней библиотеке), но вы все еще хотите работать с вашими дизайн-токенами и использовать тот же синтаксис, к которому вы привыкли в HTML.
Если вы хотите использовать @apply или @variant в блоке <style> компонента Vue или Svelte, или в CSS модулях, вам нужно будет импортировать переменные темы, пользовательские утилиты и пользовательские варианты, чтобы сделать эти значения доступными в этом контексте.
Чтобы сделать это без дублирования CSS в выводе, используйте директиву @reference для импорта основного таблицы стилей для справки без фактического включения стилей:
<template> <h1>Привет мир!</h1></template><style> @reference "../../app.css"; h1 { @apply text-2xl font-bold text-red-500; }</style>Если вы просто используете тему по умолчанию без кастомизации, вы можете импортировать tailwindcss напрямую:
<template> <h1>Привет мир!</h1></template><style> @reference "tailwindcss"; h1 { @apply text-2xl font-bold text-red-500; }</style>Tailwind предоставляет следующие функции времени сборки для упрощения работы с цветами и шкалой отступов.
Используйте функцию --alpha() для настройки прозрачности цвета:
.my-element { color: --alpha(var(--color-lime-300) / 50%);}.my-element { color: color-mix(in oklab, var(--color-lime-300) 50%, transparent);}Используйте функцию --spacing() для генерации значения отступа на основе вашей темы:
.my-element { margin: --spacing(4);}.my-element { margin: calc(var(--spacing) * 4);}Это также может быть полезно в произвольных значениях, особенно в сочетании с calc():
<div class="py-[calc(--spacing(4)-1px)]"> <!-- ... --></div>Следующие директивы и функции существуют исключительно для совместимости с Tailwind CSS v3.x.
Директивы @config и @plugin могут использоваться в сочетании с @theme, @utility и другими функциями, управляемыми CSS. Это можно использовать для постепенного переноса вашей темы, пользовательской конфигурации, утилит, вариантов и пресетов в CSS. Вещи, определенные в CSS, будут объединены там, где это возможно, а в противном случае будут иметь приоритет над теми, что определены в конфигурациях, пресетах и плагинах.
Используйте директиву @config для загрузки устаревшего файла конфигурации на основе JavaScript:
@config "../../tailwind.config.js";Параметры corePlugins, safelist и separator из конфигурации на основе JavaScript не поддерживаются в v4.0. Для внесения утилит в безопасный список в v4 используйте @source inline().
Используйте директиву @plugin для загрузки устаревшего плагина на основе JavaScript:
@plugin "@tailwindcss/typography";Директива @plugin принимает либо имя пакета, либо локальный путь.
Используйте функцию theme() для доступа к значениям темы Tailwind с помощью точечной нотации:
.my-element { margin: theme(spacing.12);}Эта функция устарела, и мы рекомендуем использовать CSS переменные темы вместо нее.