核心概念
Tailwind 向您的 CSS 公开的自定义函数和指令的参考。
指令是自定义的 Tailwind 特有 at-rules,您可以在 CSS 中使用它们,为 Tailwind CSS 项目提供特殊功能。
使用 @import
指令内联导入 CSS 文件,包括 Tailwind 本身
@import "tailwindcss";
使用 @theme
指令定义项目的自定义设计令牌,例如字体、颜色和断点
@theme { --font-display: "Satoshi", "sans-serif"; --breakpoint-3xl: 1920px; --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; }}
如果您需要同时应用多个变体,请使用嵌套
@variant dark { @variant hover { background: black; }}
在悬停、焦点和其他状态文档中了解更多关于变体的信息。
使用 @custom-variant
指令在您的项目中添加自定义变体
@custom-variant pointer-coarse (@media (pointer: coarse));@custom-variant theme-midnight (&:where([data-theme="midnight"] *));
这使您可以编写类似 pointer-coarse:size-48
和 theme-midnight:bg-slate-900
的实用程序。
在添加自定义变体文档中了解更多关于添加自定义变体的信息。
使用 @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 中使用的相同语法时,这非常有用。
如果您想在 Vue 或 Svelte 组件的 <style>
块中,或者在 CSS 模块中使用 @apply
或 @variant
,您需要导入主题配置,以使这些值在该上下文中可用。
为了在您的 CSS 输出中不重复 CSS 变量,请在导入主题时使用 @reference
指令而不是 @import
指令
<template> <h1>Hello world!</h1></template><style> @reference "../../my-theme.css"; h1 { @apply text-2xl font-bold text-red-500; }</style>
如果您只是使用默认主题,您可以直接导入 tailwindcss/theme
<template> <h1>Hello world!</h1></template><style> @reference "tailwindcss/theme"; h1 { @apply text-2xl font-bold text-red-500; }</style>
Tailwind 提供了以下构建时函数,使处理颜色和间距比例更加容易。
使用 --alpha()
函数生成一个带有应用不透明度的颜色
.my-element { color: --alpha(var(--color-lime-300) / 50%);}
使用 --spacing()
函数生成一个基于您的主题的间距值
.my-element { margin: --spacing(4);}
以下指令和函数的存在仅是为了与 Tailwind CSS v3.x 兼容。
使用 @config
指令加载基于 JavaScript 的旧版配置文件
@config "../../tailwind.config.js";
v4.0 不支持基于 JavaScript 配置的 corePlugins
、safelist
和 separator
选项。
使用 @plugin
指令加载基于 JavaScript 的旧版插件
@plugin "@tailwindcss/typography";
@plugin
指令接受包名称或本地路径。
使用 theme()
函数通过点表示法访问您的 Tailwind 主题值
.my-element { margin: theme(spacing.12);}
此函数已弃用,我们建议改为引用主题变量。