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;}有时,我们希望变量仅在页面的特定部分中进行更改。
假设我们想要按钮元素使用不同的蓝色。那么,我们可以在 button 选择器内重新声明 --blue 变量。当我们在这个选择器中使用 var(--blue) 时,它将使用此处声明的局部 --blue 变量值。
我们看到局部的 --blue 变量会覆盖 button 元素的全局 --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() | 49.0 | 15.0 | 31.0 | 9.1 | 36.0 | 
CSS var() 函数
| 函数 | 描述 | 
|---|---|
| var() | 插入 CSS 变量的值。 |