理解颜色系统及其在主题中的应用。
Radix Themes 提供了一系列颜色比例,每种颜色都有其独特的明亮、暗淡和透明变体。在底层,颜色系统由 Radix Colors 给以支持。
点缀色是主题中最显著的颜色。它用于主要按钮、链接和其他交互元素。accentColor
直接在 Theme 组件上指定:
可以选择一系列点缀色:
每种点缀色是一个包含12步的比例,包括每种颜色的实色和透明变体。例如,以下是 indigo
颜色比例:
可以使用 CSS 变量访问点缀颜色令牌。您可以使用这些令牌为自定义组件设置样式,确保它们可访问,并与您主题的其他部分保持一致。
您还可以选择纯灰色或多种带色灰色。您的点缀色将自动与一种灰色阴影搭配,但您也可以直接在 Theme 组件上指定自定义 grayColor
:
可以选择6种灰色。差异可能看起来微妙,但在有大量文本或者在密集用户界面的页面中尤其具有影响力。
灰色基于相同的12步颜色比例,包括每种颜色的实色和透明变体。例如,以下是 slate
颜色比例:
灰色颜色令牌可以使用 CSS 变量访问。您可以使用这些令牌为自定义组件设置样式,确保它们可访问且与您主题的其他部分保持一致。
当可用时,组件上的 color
属性可以用来覆盖主题点缀。嵌套组件将自动继承新的点缀色。
单个颜色可以通过相应名称使用类似的 CSS 变量直接访问。例如,红色通过 --red-1
、--red-2
等访问,直到 --red-12
。
大多数情况下,带有 color
属性的组件还提供 highContrast
选项,以实现与页面背景相比更突出的外观:
Radix Themes 会根据当前组件的点缀色自动调整焦点和选择颜色。大多数情况下,设置 color
属性将智能地改变焦点和选择颜色,以避免颜色冲突:
焦点颜色令牌可以使用类似命名结构的 CSS 变量访问,例如 --focus-1
、--focus-2
等,直到 --focus-12
。
大多数组件使用 --focus-8
作为焦点轮廓颜色。
每种颜色都有一个透明变体,设计上与页面背景重叠时看起来视觉一致。这是一个强大的工具,允许颜色在覆盖在另一背景上时自然呈现。所有数值颜色步骤都有相应的透明变体。
透明颜色在 Radix Themes 组件中自动使用—不需要额外配置。
Radix Themes UI 中使用多个背景色以创建视觉层次感。这些颜色用于背景、卡片和其他表面。
panelBackground
属性控制面板元素是使用实色还是透明背景颜色。默认的 translucent
值创建一种微妙的覆盖效果:
而 solid
在您希望不受阻碍地显示信息时非常有用。
Radix Themes 的颜色可以通过覆盖相应的 CSS 变量进行自定义。有关颜色令牌的完整列表,请参阅 源代码。
确保您的 CSS 在 Radix Themes 样式之后应用,以便优先处理。
您可以通过重新映射相应的令牌来用品牌颜色替换特定颜色。通常,您会覆盖作为主题点缀的比例的 第9步。
在此示例中,使用实色的 indigo
组件现在将引用您的自定义颜色。
您可以使用 自定义颜色调色板工具 根据几个参考颜色生成自定义调色板。一旦对结果满意,将生成的 CSS 粘贴到您的项目中。您可以重命名生成的颜色以匹配您希望在主题中使用的点缀。
要生成深色主题颜色,请切换外观以使用深色主题。确保在轻主题颜色覆盖之后粘贴生成的 CSS。
您可能更愿意使用通用颜色名称来指代您希望使用的颜色阴影。例如,通常将 crimson
、jade
和 indigo
分别称为 red
、green
和 blue
。
在这种情况下,您可以将 Radix Themes 的令牌相互映射,从而重新获得您希望使用的颜色名称:
在这个例子中,使用 Radix Themes 组件和令牌中的 red
颜色现在将引用原始的 ruby
比例。
颜色定义占 Radix Themes 附带的总 CSS 大小的约 20%。
如果您希望减少 CSS 包大小并仅访问您使用的颜色,可以导入每个颜色模块的单独 CSS 文件。以下是示例设置:
请注意,您没有导入的颜色仍然可以在 React 中通过 color
属性进行使用。同时,确保您的开发工具保留导入 CSS 文件的顺序。