颜色
NextUI 的插件使你能够个性化主题的语义颜色,例如 primary
、secondary
、success
等。
module.exports = {plugins: [nextui({themes: {light: {// ...colors: {},},dark: {// ...colors: {},},// ... custom themes},}),],};
注意:颜色配置在所有组件中全局应用。
默认颜色
NextUI 提供开箱即用的默认调色板,非常适合你仍未确定特定品牌颜色的情况。
通用颜色
通用颜色,如 TailwindCSS 颜色,无论主题如何,始终保持一致。
为了避免与 TailwindCSS 颜色冲突,通用颜色最初被禁用,但可以使用 addCommonColors
选项激活它们。
module.exports = {plugins: [nextui({addCommonColors: true,}),],};
启用此选项会用以下内容补充一些 TailwindCSS 默认颜色
module.exports = {theme: {extend: {colors: {white: "#FFFFFF",black: "#000000",blue: {50: "#e6f1fe",100: "#cce3fd",200: "#99c7fb",300: "#66aaf9",400: "#338ef7",500: "#006FEE",600: "#005bc4",700: "#004493",800: "#002e62",900: "#001731",},// .. rest of the colors},},},};
白色和黑色
蓝色
紫色
绿色
红色
粉红色
黄色
青色
锌
语义颜色
语义颜色会随着主题而调整,传达含义并强化您的品牌标识。
For an effective palette, we recommend using color ranges from 50
to 900
. You can use tools like Eva Design System,
Smart Watch, Palette or Color Box to generate your palette.
语义颜色应放置在
nextui
插件选项中,而不是 TailwindCSS 主题对象中。
module.exports = {plugins: [nextui({themes: {light: {colors: {background: "#FFFFFF", // or DEFAULTforeground: "#11181C", // or 50 to 900 DEFAULTprimary: {//... 50 to 900foreground: "#FFFFFF",DEFAULT: "#006FEE",},// ... rest of the colors},},dark: {colors: {background: "#000000", // or DEFAULTforeground: "#ECEDEE", // or 50 to 900 DEFAULTprimary: {//... 50 to 900foreground: "#FFFFFF",DEFAULT: "#006FEE",},},// ... rest of the colors},mytheme: {// custom themeextend: "dark",colors: {primary: {DEFAULT: "#BEF264",foreground: "#000000",},focus: "#BEF264",},},},}),],};
更改文档主题以查看语义颜色在实际中的效果。
布局
内容
基础
默认
主要
次要
成功
警告
危险
使用语义颜色
语义颜色可以在项目中使用颜色的任何地方应用,例如文本颜色、边框颜色、背景颜色实用工具等。
<div class="bg-primary-500 text-primary-50 rounded-small px-2 py-1">This is a primary color box</div>
Javascript 变量
将语义和常用颜色导入到您的 JavaScript 文件中,如下所示
import {commonColors, semanticColors} from "@nextui-org/theme";console.log(commonColors.white); // #FFFFFFconsole.log(commonColors.blue[500]); // #006FEEconsole.log(semanticColors.dark.warning.DEFAULT); // #FFC107console.log(semanticColors.light.primary.DEFAULT); // #006FEE
CSS 变量
NextUI 使用格式 --prefix-colorname-shade
为每个语义颜色创建 CSS 变量。默认情况下,前缀是 nextui
,但您可以使用 prefix
选项进行更改。
module.exports = {plugins: [nextui({prefix: "myapp",}),],};
然后您可以在 CSS 文件中使用 CSS 变量。
/* With default prefix */.my-component {background-color: hsl(var(--nextui-primary-500));}/* With custom prefix */.my-component {background-color: hsl(var(--myapp-primary-500));}