- 前往 为现代 Web 构建
为现代 Web 构建
一套完整的设计系统,由 Tailwind CSS 和 Reka UI 驱动,旨在实现卓越性能和无障碍支持。
- 前往 庞大的图标库
庞大的图标库
由 @nuxt/icon 驱动,可访问来自 Iconify 的超过 200,000 个可定制图标。
- 前往 简便的字体自定义
简便的字体自定义
通过一流的 @nuxt/fonts 集成,提供经过性能优化的字体。
- 前往 亮色与暗色模式
亮色与暗色模式
支持暗色模式的组件,与 @nuxtjs/color-mode 模块深度集成。
- 前往 国际化 (i18n)
国际化 (i18n)
已翻译成 50 多种语言,完美支持 i18n 和多方向文本 (LTR/RTL)。
- 前往 优美的排版
优美的排版
与 @nuxt/content 集成,提供优美的排版和一致的组件样式。
灵活的设计系统
利用 Nuxt UI 以 CSS 为中心的设计系统,结合 Tailwind CSS、语义化颜色系统及运行时配置,提升构建效率。
- CSS 优先配置直接在 CSS 中通过 @theme 指令定义字体、颜色和断点。这使你的主题具有可移植性、可维护性且易于自定义。
- 语义化颜色系统配置 7 种语义化颜色别名(主要、次要、成功、信息、警告、错误、中性),用以描述颜色的用途而非具体数值。
- 运行时颜色配置无需重新构建应用,即可通过 AppConfig 在运行时更改颜色、图标等。非常适合多租户应用或动态主题切换。
@import "tailwindcss";
@import "@nuxt/ui";
@theme static {
--font-sans: 'Public Sans', system-ui, sans-serif;
--color-brand-50: #f0f9ff;
--color-brand-100: #e0f2fe;
--color-brand-200: #bae6fd;
--color-brand-300: #7dd3fc;
--color-brand-400: #38bdf8;
--color-brand-500: #3b82f6;
--color-brand-600: #2563eb;
--color-brand-700: #1d4ed8;
--color-brand-800: #1e40af;
--color-brand-900: #1e3a8a;
--color-brand-950: #172554;
}
export default defineAppConfig({
ui: {
colors: {
primary: 'brand',
secondary: 'purple',
success: 'green',
info: 'blue',
warning: 'yellow',
error: 'red',
neutral: 'zinc'
},
icons: {
loading: 'i-lucide-loader-circle',
search: 'i-lucide-search',
menu: 'i-lucide-menu'
}
}
})
一致的设计令牌
使用 CSS 变量作为设计令牌(Design Tokens),通过语义化工具类实现一致的主题化,并能自动适应亮色和暗色模式。
- 语义化颜色工具类使用诸如 text-primary、bg-success 或 border-error 等工具类,通过 CSS 变量自动适配亮色和暗色模式。
- 文本与背景令牌提供一套完整的工具类,用于文本(text-dimmed, text-muted, text-highlighted)、背景(bg-default, bg-elevated, bg-accented)和边框。
- 全局布局变量使用 --ui-radius 自定义圆角,--ui-container 自定义布局宽度,以及 --ui-header-height 自定义一致的间距。
@import "tailwindcss";
@import "@nuxt/ui";
:root {
--ui-primary: black;
--ui-radius: 0.5rem;
--ui-container: var(--container-5xl);
--ui-header-height: --spacing(24);
}
.dark {
--ui-primary: white;
--ui-bg: var(--ui-color-neutral-950);
}
<template>
<div class="bg-default border border-default rounded-lg p-4">
<span class="text-primary">Primary text</span>
<span class="text-dimmed">Dimmed text</span>
<div class="bg-elevated p-3 rounded-md mt-2">
<span class="text-muted">Elevated background</span>
</div>
</div>
</template>
根据需求量身定制组件
利用带有插槽(slots)、变体(variants)和复合变体(compound variants)的 Tailwind Variants API,实现强大的组件主题化及智能类名合并。
- Tailwind Variants API组件使用插槽实现灵活样式,使用变体实现基于属性的样式,使用复合变体处理复杂的条件样式,并支持智能类名合并。
- 全局主题配置在 app.config.ts 中通过插槽、变体、复合变体和默认变体全局覆盖组件主题,确保应用样式的一致性。
- 单个组件自定义利用 ui 属性进行特定插槽的样式调整,以及 class 属性覆盖根元素样式,为单个组件提供最大程度的灵活性。
export default defineAppConfig({
ui: {
button: {
slots: {
base: 'font-bold'
},
variants: {
size: {
md: {
base: 'px-4 py-2 text-sm'
}
}
},
defaultVariants: {
color: 'neutral'
}
}
}
})
<template>
<UButton
label="Button"
size="md"
variant="outline"
trailing-icon="i-lucide-chevron-right"
:ui="{
trailingIcon: 'rotate-90'
}"
class="rounded-full"
/>
</template>
通过生产就绪的模板快速上线
从我们完全响应式、无障碍且易于自定义的模板开始,让你的项目能够快速且轻松地发布。
- 生产就绪模板所有模板均遵循最佳实践构建,经过 SEO 优化和性能调优,只需极少配置即可立即部署到生产环境。
- 支持 Nuxt & Vue同时为 Nuxt 和 Vue 应用提供模板,并针对框架进行了特定优化,选择最适合你项目需求的版本。
- 完全可自定义基于 Nuxt UI 组件构建并提供完整源代码访问权限,可轻松自定义颜色、字体、布局和组件,以匹配你的品牌身份。
加入 Nuxt UI 社区
加入我们蓬勃发展的开源社区,贡献代码、提交问题、建议新功能或协助完善文档。每一份贡献都让 Nuxt UI 在生态系统中变得更好。





















































