自定义属性 (--):CSS 变量
以--
为前缀的属性名称,如--example-name
,表示自定义属性,它们包含一个值,该值可以使用var()
函数在其他声明中使用。
自定义属性的作用域与其声明的元素相同,并且参与级联:此类自定义属性的值是级联算法决定的声明中的值。
语法
css
--somekeyword: left;
--somecolor: #0000ff;
--somecomplexvalue: 3px 6px rgb(20 32 54);
<declaration-value>
-
此值匹配任何一个或多个标记的序列,只要该序列不包含任何不允许的标记。它表示有效的声明可以作为其值的全部内容。
注意:自定义属性名称区分大小写 - --my-color
将被视为与--My-color
不同的自定义属性。
示例
HTML
html
<p id="firstParagraph">
This paragraph should have a blue background and yellow text.
</p>
<p id="secondParagraph">
This paragraph should have a yellow background and blue text.
</p>
<div id="container">
<p id="thirdParagraph">
This paragraph should have a green background and yellow text.
</p>
</div>
CSS
css
:root {
--first-color: #16f;
--second-color: #ff7;
}
#firstParagraph {
background-color: var(--first-color);
color: var(--second-color);
}
#secondParagraph {
background-color: var(--second-color);
color: var(--first-color);
}
#container {
--first-color: #290;
}
#thirdParagraph {
background-color: var(--first-color);
color: var(--second-color);
}
结果
规范
规范 |
---|
CSS 自定义属性用于级联变量模块级别 1 # defining-variables |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- 该
var()
函数 @property
规则- 使用 CSS 自定义属性(变量)指南
- 用于级联变量的 CSS 自定义属性模块