UnoCSS
即时按需的原子化 CSS 引擎
当项目需要极致的CSS性能与灵活的设计系统时,UnoCSS通过按需扫描模板中的类名,直接生成对应的样式规则,跳过AST解析和PostCSS处理,构建速度比Tailwind JIT快5倍以上,核心包仅6KB(min+brotli)。
| 收费 | MIT开源,免费使用 |
|---|---|
| 中文 | 官方中文文档(unocss.nodejs.cn) |
| 用途 | 按需生成原子化CSS,适用于中后台系统、H5活动页、高性能Web应用及自定义设计系统 |
UnoCSS本身不内置任何工具类,所有CSS功能通过预设(presets)和自定义规则(rules)动态提供。开发者可用JS/TS编写正则规则,支持任意值(如m-7.5),并将规则提取为预设与团队共享。官方预设包括兼容Tailwind/Windi的preset-wind、属性化模式preset-attributify、纯CSS图标preset-icons等。
UnoCSS提供多项创新功能:属性化模式将类名写成HTML属性(如<div m-4 p-2>),纯CSS图标通过类名直接使用Iconify图标集(如i-carbon-home),变体组简化重复前缀(如hover:(bg-gray-400 font-medium)),内置检查器在开发时通过http://localhost:5173/__unocss查看已生成类及CSS体积。
UnoCSS由Windi CSS团队成员Anthony Fu发起,可视为Windi CSS的精神继承者(Windi CSS自2023年3月起不再维护)。相比Tailwind CSS,UnoCSS从零构建,按需生成且无purge步骤,性能更快、体积更小,并通过preset-wind实现类名兼容,降低迁移成本。
Q1:UnoCSS与Tailwind CSS的主要区别是什么?
A1:UnoCSS是原子化CSS引擎而非框架,核心不内置任何类名,所有功能通过预设提供。性能上比Tailwind JIT快5倍以上,核心包仅6KB。通过preset-wind预设可兼容Tailwind类名,降低迁移成本。
Q2:如何在Vite项目中集成UnoCSS?
A2:安装@unocss/vite和@unocss/preset-wind等预设,在vite.config.ts中配置UnoCSS插件,并在uno.config.ts中定义规则和预设。官方提供Vite、Nuxt、Astro、Svelte、Webpack等集成指南。
Q3:UnoCSS的纯CSS图标功能如何使用?
A3:安装@unocss/preset-icons预设,通过类名使用Iconify图标集(如i-carbon-home),支持颜色、大小控制。也支持本地SVG图标集,无需额外构建步骤。
更多同类工具与网站,可在前端库分类继续挑选。
信息核实于 2026年7月,具体以官网为准。
评论
暂无评论