CSS 覆盖变量
用局部变量覆盖全局变量
从上一页我们了解到,可以在整个文档中访问/使用全局变量,而局部变量只能在声明它的选择器内使用。
请看上一页中的例子:
<!DOCTYPE html>
<html>
<head>
<style>
: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;
}
</style>
</head>
<body>
<h1>使用 var() 函数</h1>
<div class="container">
<h2>欢迎来到成都!</h2>
<p>成都,是四川省省会、副省级市、特大城市、成渝地区双城经济圈核心城市,国务院批复确定的中国西部地区重要的中心城市,国家重要的高新技术产业基地、商贸物流中心和综合交通枢纽。</p>
<p>成都地处中国西南地区,属亚热带季风性湿润气候,自古有“天府之国”的美誉。</p>
<p>
<button>是</button>
<button>否</button>
</p>
</div>
</body>
</html>
有时,我们希望变量仅在页面的特定部分中进行更改。
假设我们想要按钮元素使用不同的蓝色。那么,我们可以在 button 选择器内重新声明 —blue 变量。当我们在这个选择器中使用 var(—blue)
时,它将使用此处声明的局部 —blue 变量值。
我们看到局部的 —blue 变量会覆盖 button 元素的全局 —blue 变量:
<!DOCTYPE html>
<html>
<head>
<style>
: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;
}
</style>
</head>
<body>
<h1>用局部变量覆盖全局变量</h1>
<div class="container">
<h2>欢迎来到成都!</h2>
<p>成都,是四川省省会、副省级市、特大城市、成渝地区双城经济圈核心城市,国务院批复确定的中国西部地区重要的中心城市,国家重要的高新技术产业基地、商贸物流中心和综合交通枢纽。</p>
<p>成都地处中国西南地区,属亚热带季风性湿润气候,自古有“天府之国”的美誉。</p>
<p>
<button>是</button>
<button>否</button>
</p>
</div>
</body>
</html>
添加一个新的局部变量
如果只在一个地方使用一个变量,我们也可以声明一个新的局部变量,就像这样:
<!DOCTYPE html>
<html>
<head>
<style>
: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;
}
</style>
</head>
<body>
<h1>新的局部变量</h1>
<div class="container">
<h2>欢迎来到成都!</h2>
<p>成都,是四川省省会、副省级市、特大城市、成渝地区双城经济圈核心城市,国务院批复确定的中国西部地区重要的中心城市,国家重要的高新技术产业基地、商贸物流中心和综合交通枢纽。</p>
<p>成都地处中国西南地区,属亚热带季风性湿润气候,自古有“天府之国”的美誉。</p>
<p>
<button>是</button>
<button>否</button>
</p>
</div>
</body>
</html>
浏览器支持
表格中的数字注明了完全支持该属性的首个浏览器版本。
函数 | |||||
---|---|---|---|---|---|
var() | 49.0 | 15.0 | 31.0 | 9.1 | 36.0 |
CSS var() 函数
函数 | 描述 |
---|---|
var() | 插入 CSS 变量的值。 |