What UnoCSS Does
- Atomic CSS engine — generate utilities on-demand
- Custom rules — define rules with regex + dynamic generators
- Presets — Wind (Tailwind-like), Mini, Attributify, Icons, Typography, Web Fonts
- Variants —
hover:,dark:,lg:, custom variants - Shortcuts — combine utilities into named classes
- Inspector — browser UI to debug generated CSS
- No parsing — scans source as text, not AST
Architecture
No PostCSS, no AST. UnoCSS scans source files as raw text using configurable extractors, matches against rules (regex), generates CSS on-the-fly. Unmatched classes are silently ignored (zero noise).
Self-Hosting
Build-time tool. Vite, Webpack, Astro, Nuxt, SvelteKit, Vue CLI integrations.
Key Features
- 5x faster than Tailwind JIT
- Fully customizable engine
- Tailwind-compatible preset (Wind)
- Attributify mode (
<div border="2 red">) - Pure CSS icons preset
- Variant groups (
hover:(bg-red text-white)) - Inspector dev tool
- Zero config (presets handle defaults)
Comparison
| Engine | Approach | Speed | Customization |
|---|---|---|---|
| UnoCSS | On-demand engine | Fastest | Highest |
| Tailwind JIT | On-demand parser | Fast | Plugin API |
| Windi CSS | Predecessor | Fast | Good (deprecated) |
| Panda CSS | Build-time | Medium | Tokens-based |
常见问题 FAQ
Q: 能直接替换 Tailwind 吗?
A: 启用 presetWind 后大部分 Tailwind 类直接可用。少数 Tailwind 插件需要重写。
Q: Attributify 是什么?
A: 把 utilities 写成 HTML 属性:<div border="2 red" p="4">。源码更整洁。
Q: 图标 preset 怎么用?
A: i-mdi-home、i-tabler-user,自动从 Iconify 拉取并 inline 成纯 CSS(无 JS)。
来源与致谢 Sources
- Docs: https://unocss.dev
- GitHub: https://github.com/unocss/unocss
- License: MIT