daisyUI
基于Tailwind CSS
daisyUI 是 Tailwind CSS 的组件库插件,提供 btn、card、toggle 等语义化类名替代数百条 utility class,内置 40+ 主题且全部基于 CSS 变量实现零 JS 切换,已被 Meta、阿里巴巴、亚马逊、Adobe、百事可乐、Google Cloud 等公司工程师使用。
| 收费 | 开源免费(MIT协议) |
|---|---|
| 平台 | Web / 所有JS框架 |
| 中文 | 官方支持简体中文界面 |
| 用途 | 为Tailwind CSS项目提供语义化组件类名与可定制主题系统 |
daisyUI 将 Tailwind CSS 项目中重复编写的 utility class 封装为语义化组件类名。官网对比显示:相同 UI 片段(输入框+开关+按钮),纯 Tailwind 需 114 个类名、HTML 体积 2110 字节;使用 daisyUI 仅需 14 个类名、427 字节,类名减少 88%,HTML 体积缩小 79%。所有组件类名仍可被 Tailwind 的 utility class 覆盖修改。
daisyUI 在 Tailwind CSS 中新增一组语义化颜色名(primary / secondary / accent / neutral / info / success / warning / error 及其 content 变体),这些颜色使用 CSS 变量赋值,因此切换主题时无需添加新类名即可实现暗色模式。官网列出 40+ 内置主题,包括 light、dark、cupcake、bumblebee、emerald、corporate、synthwave、retro、cyberpunk、valentine、halloween、garden、forest、aqua、lofi、pastel、fantasy、wireframe、black、luxury、dracula、cmyk、autumn、business、acid、lemonade、night、coffee、winter、dim、nord、sunset、caramellatte、abyss、silk 等。用户可通过 Theme Generator 创建自定义主题。
daisyUI 5 于 2026 年发布,兼容 Tailwind CSS 4,采用最新 CSS/HTML 标准。据 v5 发布页数据,该库已被 360,000 个开源项目使用,累计 npm 安装量 1900 万次(周均 35 万次)。版本迭代频繁:5.7.0 新增 menu-paged 修饰器,5.6.x 系列修复了 btn-active 样式、RTL 下的 modal-start/end、iOS 中 fieldset-legend 拉伸等 10+ 项缺陷。
daisyUI 是纯 CSS 插件,无 JavaScript 依赖,因此可工作在 React、Vue、Svelte、Angular、Next.js、Nuxt、Astro 等所有 JS 框架中。安装仅需两步:npm i -D daisyui@latest,然后在 CSS 文件中添加 @plugin "daisyui"。如需启用特定内置主题,可在 plugin 配置中声明 themes: { light: "--default", dark: "--prefersdark", cupcake: true }。
Q1:daisyUI 如何实现 88% 的类名缩减?
A1:官网以「输入框+开关+按钮」表单片段为例:纯 Tailwind 需 114 个 class(如 w-80、rounded-lg、bg-zinc-50、focus:ring-2 等),daisyUI 仅用 14 个语义类名(如 input、toggle、btn),同时 HTML 体积从 2110 字节降至 427 字节。缩减原理是将重复的 utility 组合封装为 btn、card 等单一类名,且仍可通过 Tailwind utility 覆盖细节。
Q2:daisyUI 5 升级到 Tailwind CSS 4 的具体步骤?
A2:官方升级指南分两步:1)从 tailwind.config.js 中移除 daisyUI 插件和主题配置,运行 npx @tailwindcss/upgrade 自动转换;2)安装 daisyUI 5(npm i -D daisyui@latest),在 CSS 文件中用 @import "tailwindcss" 和 @plugin "daisyui" 替代旧配置。如需启用内置主题,在 plugin 后添加 themes 参数,例如 themes: { light: "--default", dark: "--prefersdark" }。
Q3:daisyUI 的主题切换是否需要 JavaScript?
A3:不需要。daisyUI 所有主题颜色均使用 CSS 变量实现,切换主题时只需在 HTML 根元素上更换 data-theme 属性值(如 data-theme="dark"),浏览器自动应用对应 CSS 变量,无需任何 JS 代码。内置 40+ 主题均遵循此机制。
更多同类工具与网站,可在其他框架分类继续挑选。
信息核实于 2026年7月,具体以官网为准。
评论
暂无评论