使用高级 Chakra UI 组件更快地构建 💎

了解更多
跳到内容
文档演练场指南博客
赞助

CSS 变量

在 Chakra UI 中使用支持 token 的 CSS 变量

概述

CSS 变量已成为在 Web 上创建共享值的实际标准方式。它对于避免属性插值、类名重新生成以及减少 token 值的运行时评估非常有用。

示例

基本用法

使用css 属性来创建 css 变量

<Box css={{ "--font-size": "18px" }}>
  <h3 style={{ fontSize: "calc(var(--font-size) * 2)" }}>Hello</h3>
  <p style={{ fontSize: "var(--font-size)" }}>Hello</p>
</Box>

访问 token

使用完整的 token 路径来访问 token

<Box css={{ "--color": "colors.red.500" }}>
  <p style={{ color: "var(--color)" }}>Hello</p>
</Box>

以下是访问尺寸 token 的示例

<Box css={{ "--size": "sizes.10" }}>
  <p style={{ width: "var(--size)", height: "var(--size)" }}>Hello</p>
</Box>

响应式样式

使用响应式语法使 css 变量具有响应性

<Box css={{ "--font-size": { base: "18px", lg: "24px" } }}>
  <h3 style={{ fontSize: "calc(var(--font-size) * 2)" }}>Hello</h3>
  <p style={{ fontSize: "var(--font-size)" }}>Hello</p>
</Box>

颜色不透明度修饰符

在访问颜色 token 时,您可以使用不透明度修饰符来获取带有不透明度的颜色。要求是使用 {} 语法。

<Box css={{ "--color": "{colors.red.500/40}" }}>
  <p style={{ color: "var(--color)" }}>Hello</p>
</Box>

虚拟颜色

变量可以通过 colors.colorPalette.* 值指向一个虚拟颜色。这对于创建主题组件非常有用。

<Box colorPalette="blue" css={{ "--color": "colors.colorPalette.400" }}>
  <p style={{ color: "var(--color)" }}>Hello</p>
</Box>

上一个

响应式设计

下一个

暗黑模式