颜色
ZUI 的颜色体系基于 TailwindCSS 调色板 实现,主要包含语义化调色板、界面颜色和特殊颜色。下面分别进行介绍。
语义化调色板
ZUI 内置了 8 种语义化调色板,每种类型都来自 TailwindCSS 内置的调色板,你可以根据产品中的需要来更换现有调色板。
提示
点击调色板中的颜色,可以复制颜色变量名称方便在代码中使用。
界面颜色
在 ZUI 中,界面上公共的颜色已被精心梳理和定义,尽可能使用更少的颜色来定义大部分界面元素上可能用到的颜色。界面颜色都应该来自语义化调色板,你可以根据产品中的需要来更换其他调色板。下面是这些颜色的定义:
特殊颜色
在 ZUI 中会用到一些特殊颜色,这些颜色的定义是固定的,不会因为更换主题或调色板而改变。下面是这些颜色的定义:
#FFFFFF
,不会受主题影响#000000
,不会受主题影响0
,不会受主题影响inherit
提供。currentColor
提供。额外的颜色定义
除了 ZUI 中已经定义的界面颜色和特殊颜色,有时还需要用到其他颜色,这时应该通过自定义调色板来实现。例如为了让图表上的图形更有区分度,可以定义一系列额外的调色板,例如 Chart1、Chart2....,然后在图表中按需使用。推荐使用 Tailwind CSS Color Generator 等工具来生成调色板。
使用颜色
你拥有多种方式来使用颜色,下面分别进行介绍。
通过 CSS 变量
每种语义化颜色都被定义为 CSS 变量,变量名称拥有相同的格式,都以 --color-
开头,然后通过 -
连接颜色名称得到。例如 CSS 变量 --color-primary-500
可以引用 Primary 调色板上的第 500 号颜色。下面为一个在 HTML 代码中使用的例子:
这是一段使用 Primary 调色板上的第 500 号颜色的文本
<h4 style="color: var(--color-primary-500)">
这是一段使用 Primary 调色板上的第 500 号颜色的文本
</h4>
使用 CSS 工具类
在 ZUI 中提供了大量 CSS 工具类,大部分定义与 TailwindCSS 的工具类一致。在这些工具类中为你提供了大量的颜色相关的工具类,你可以通过这些工具类来使用颜色。下面为使用 CSS 工具类的例子:
这是一段使用 Primary 调色板上的第 500 号颜色的文本
<h4 class="text-primary">
这是一段使用 Primary 调色板上的第 500 号颜色的文本
</h4>
更多用法和例子参考 CSS 工具类 文档。
在设计中使用
为了实现统一流程的交互体验,应该在设计时使用 ZUI 的颜色体系,下面为一些具体的建议:
- 在设计中使用 ZUI 的颜色体系,而不是使用设计工具自带的颜色体系;
- 在设计工具中为颜色进行命名,命名方式与 ZUI 中的颜色名称一致,例如
color-primary-500
; - 如果需要实现不同风格,推荐定义新的调色板实现,而不是只修改调色板中的某一个颜色;
- 因为界面颜色来自调色版,不建议手动进行修改,除非主题需要实现对比度更明显的风格;
- 任何时候都不建议修改特殊颜色的定义。
自定义配色
通过自定义配色可以实现不通的主题风格。你可以在页面中通过定义新的颜色变量来覆盖默认的颜色定义,从而实现自定义配色。下面为一个例子:
/* 覆盖主要调色板的定义 */
:root {
--color-primary-50: #faf5ff;
--color-primary-100: #f3e8ff;
--color-primary-200: #e9d5ff;
--color-primary-300: #d8b4fe;
--color-primary-400: #c084fc;
--color-primary-500: #a855f7;
--color-primary-600: #9333ea;
--color-primary-700: #7e22ce;
--color-primary-800: #6b21a8;
--color-primary-900: #581c87;
--color-primary-950: #3b0764;
--color-primary-50-rgb: 250, 245, 255;
--color-primary-100-rgb: 243, 233, 255;
--color-primary-200-rgb: 233, 214, 254;
--color-primary-300-rgb: 216, 182, 252;
--color-primary-400-rgb: 191, 136, 249;
--color-primary-500-rgb: 167, 92, 244;
--color-primary-600-rgb: 146, 62, 231;
--color-primary-700-rgb: 125, 46, 203;
--color-primary-800-rgb: 106, 41, 166;
--color-primary-900-rgb: 88, 34, 133;
--color-primary-950-rgb: 59, 14, 99;
}
提示
在定义 CSS 变量覆盖调色板时,除了定义 50~950 的十六进制颜色外,还需要定义对应的 RGB 颜色,这是为了在一些特殊场景下通过改变透明度来实现颜色的变化。
注意
如果你需要自定义配色,建议只通过修改调色板来实现,不建议修改界面颜色,除非主题需要实现对比度更明显的风格,任何时候都不应该修改特殊颜色的定义。
更多关于主题的内容参考 主题 文档。