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 变量的值 |