Version: 2022.3
USS 自定义属性(变量)
Introduction to USS built-in variables

Create USS variables

You can create a USS variable and use it in other USS properties. When you update a USS variable, all of the USS properties that use that variable update. You can also specify default values for USS variables.

Create and use USS variables

要创建 USS 变量,请在其名称前加上双连字符(--)。

--color-1: red;

要在另一个 USS 规则中使用 USS 变量值,请使用 var() 函数来调用它。

var(--color-1);

When you update a variable, it updates all the USS properties that use it.

例如,以下 USS 代码片段定义了一个声明两个颜色变量的样式规则,以及两个使用这些变量的样式规则。

:root {
  --color-1: blue;
  --color-2: yellow;
}

.paragraph-regular {
  color: var(--color-1);
  background: var(--color-2);
  padding: 2px;
  }

.paragraph-reverse {
  color: var(--color-2);
  background: var(--color-1);
  padding: 2px;
  }

To update the color scheme, you can change the two variable values instead of the four color values.

使用变量可以更轻松地管理复杂 UI 的样式,其中多个规则(有时在不同的样式表中)使用相同的值。

Specify default values for USS variables

var() 函数接受一个可选的默认值。UI 系统在无法解析变量时使用默认值。例如,如果您从样式表中删除一个变量,但忘记删除对它的引用。

To specify a default value for a variable, add it after the variable value, separated by a comma ,.

The following USS snippet calls the --color-1 variable. If the UI system can’t resolve the variable, it uses the hex value for red (#FF0000).

var(--color-1, #FF0000);

Differences from CSS variables

Variables work mostly the same way in USS as they do in CSS. For detailed information about CSS variables, see the MDN documentation. However, USS doesn’t support some of the functionalites of CSS:

  • USS doesn’t support the var() function inside of other functions, such as shown below:
  background-color: rgb(var(--red), 0, 0);
  • USS doesn’t support mathematical operations on variables.

其他资源

USS 自定义属性(变量)
Introduction to USS built-in variables