Tailwind CSS 插件技能,聚焦官方插件与自定义插件开发,帮助在 Tailwind 项目中扩展功能。
官方插件
@tailwindcss/typography:为无法控制的内容(Markdown、CMS 内容)提供美观的排版默认样式。安装:npm install -D @tailwindcss/typography;在 CSS 中通过 @import "tailwindcss" 后写 @plugin "@tailwindcss/typography" 加载。基础用法为在元素上加 prose 类。提供尺寸修饰符:prose-sm(14px 基准)、prose(默认 16px)、prose-lg(18px)、prose-xl(20px)、prose-2xl(24px),可响应式组合,如 prose md:prose-lg lg:prose-xl。内置配色主题:prose-slate、prose-zinc、prose-neutral、prose-stone;暗色模式使用 dark:prose-invert 自动反转。元素修饰符可覆盖特定元素,例如 prose-headings:text-blue-600、prose-a:text-blue-500、prose-a:no-underline、prose-code:text-pink-500、prose-img:rounded-lg、prose-strong:text-gray-900、prose-blockquote:border-blue-500。可用 prose max-w-none 移除最大宽度限制;在子容器加 not-prose 可逃逸 prose 样式。还支持自定义类名,通过 @plugin "@tailwindcss/typography" { className: wysiwyg; } 后使用 wysiwyg 类。
@tailwindcss/forms:将表单元素重置为一致、易样式化的基线。安装 npm install -D @tailwindcss/forms 并以 @plugin "@tailwindcss/forms" 加载。作用元素包括多种 input 类型(text、email、password、number、url、date、datetime-local、month、week、time、search、tel、checkbox、radio)、select、select[multiple]、textarea。示例覆盖文本输入、选择框、复选框、单选框、多行文本的类用法。class 策略可改为按需启用而不做全局重置:@plugin "@tailwindcss/forms" { strategy: class; } 之后使用 form-input、form-select、form-textarea、form-checkbox、form-radio、form-multiselect 等类。复选框/单选框可用 text-pink-500 着色、accent-purple-600 使用原生强调色、h-6 w-6 自定义尺寸。
@tailwindcss/container-queries:根据容器尺寸而非视口设置样式。安装 npm install -D @tailwindcss/container-queries 并以 @plugin 加载。用 @container 定义容器,内部使用 @md:、@lg: 等容器断点。断点:@xs 320px、@sm 384px、@md 448px、@lg 512px、@xl 576px、@2xl 672px、@3xl 768px、@4xl 896px、@5xl 1024px、@6xl 1152px、@7xl 1280px。具名容器如 @container/sidebar 配 @md/sidebar:flex。支持任意值,如 @[400px]:flex、@[600px]:grid。
创建自定义插件(v4)
简单工具类优先用 CSS 的 @utility 指令,无需 JavaScript,例如 content-auto、text-balance、scrollbar-none(含 ::-webkit-scrollbar 写法)。复杂插件用 JavaScript:从 tailwindcss/plugin 导入 plugin,在回调中使用 addUtilities 添加静态工具类、addComponents 添加组件(可用 theme() 取值并写 &:hover)、matchUtilities 添加动态工具类(配 values: theme(...))。在 CSS 中通过 @plugin "./plugins/my-plugin.js" 加载。插件可携带 theme 扩展,如定义 textGradient 主题值并在 matchUtilities 中使用。addVariant 可添加自定义变体:peer-checked、group-focus-visible、data-active、data-loading、hocus(同时匹配 hover 与 focus)、not-first、not-last 等。
社区插件
文中列出 tailwindcss-animate(动画工具类,安装 npm install -D tailwindcss-animate,以 @plugin 加载,示例 animate-in fade-in slide-in-from-bottom-4 duration-500)、tailwindcss-motion(进阶动效/动画)、@headlessui/tailwindcss(Headless UI 变体)、tailwind-scrollbar(滚动条样式)、tailwindcss-3d(3D 变换工具类)、tailwindcss-fluid-type(流式排版)。
最佳实践
只加载实际使用的插件,未使用的不加载;优先尝试 @utility 指令再考虑 JavaScript 插件;为自定义插件写文档注释;升级 Tailwind 时用 npm outdated | grep tailwind 检查并用 npm update 验证插件兼容性。
限制与补充:资料未提供各插件的收费、价格、平台支持范围与效果保证等信息,如需请以官方文档为准。