CSS 变量覆盖
用局部变量覆盖全局变量
从上一页我们知道全局变量可以在整个文档中访问/使用,而局部变量只能在声明它的选择器内部使用。
查看上一页的示例
示例
:root {
--blue: #1e90ff;
--white: #ffffff;
}
body {
background-color: var(--blue);
}
h2 {
border-bottom: 2px solid var(--blue);
}
.container {
color: var(--blue);
background-color: var(--white);
padding: 15px;
}
button {
background-color: var(--white);
color: var(--blue);
border: 1px solid var(--blue);
padding: 5px;
}
尝试一下 »
有时我们希望变量只在页面中的特定部分改变。
假设我们想为按钮元素使用不同的蓝色。然后,我们可以在按钮选择器内部重新声明 --blue 变量。当我们在该选择器内使用 var(--blue) 时,它将使用此处声明的局部 --blue 变量值。
我们可以看到局部 --blue 变量将覆盖按钮元素的全局 --blue 变量
示例
:root {
--blue: #1e90ff;
--white: #ffffff;
}
body {
background-color: var(--blue);
}
h2 {
border-bottom: 2px solid var(--blue);
}
.container {
color: var(--blue);
background-color: var(--white);
padding: 15px;
}
button {
--blue: #0000ff; /* 局部变量将覆盖全局变量 */
background-color: var(--white);
color: var(--blue);
border: 1px solid var(--blue);
padding: 5px;
}
尝试一下 »
添加新的局部变量
如果变量只在一个地方使用,我们也可以声明一个新的局部变量,像这样
示例
:root {
--blue: #1e90ff;
--white: #ffffff;
}
body {
background-color: var(--blue);
}
h2 {
border-bottom: 2px solid var(--blue);
}
.container {
color: var(--blue);
background-color: var(--white);
padding: 15px;
}
button {
--button-blue: #0000ff; /* 新的局部变量 */
background-color: var(--white);
color: var(--button-blue);
border: 1px solid var(--button-blue);
padding: 5px;
}
尝试一下 »
浏览器支持
表中的数字指定完全支持 var()
函数的第一个浏览器版本。
函数 | |||||
---|---|---|---|---|---|
var() | 49.0 | 15.0 | 31.0 | 9.1 | 36.0 |
CSS var() 函数
属性 | 描述 |
---|---|
var() | 插入 CSS 变量的值 |