CSS 变量


CSS 变量

var() 函数用于插入 CSS 变量的值。

CSS 变量可以访问 DOM,这意味着您可以创建具有局部或全局范围的变量,使用 JavaScript 来修改变量,以及基于媒体查询来修改变量。

使用 CSS 变量的一种好方法涉及设计的颜色。您可以将它们放在变量中,而不必一遍又一遍地复制和粘贴相同的颜色。


传统方式

以下例子显示了在样式表中定义一些颜色的传统方式(通过为每个特定元素定义要使用的颜色):

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. body {
  6. background-color: #1e90ff;
  7. }
  8. h2 {
  9. border-bottom: 2px solid #1e90ff;
  10. }
  11. .container {
  12. color: #1e90ff;
  13. background-color: #ffffff;
  14. padding: 15px;
  15. }
  16. button {
  17. background-color: #ffffff;
  18. color: #1e90ff;
  19. border: 1px solid #1e90ff;
  20. padding: 5px;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <h1>传统方式</h1>
  26. <div class="container">
  27. <h2>欢迎来到成都!</h2>
  28. <p>成都,是四川省省会、副省级市、特大城市、成渝地区双城经济圈核心城市,国务院批复确定的中国西部地区重要的中心城市,国家重要的高新技术产业基地、商贸物流中心和综合交通枢纽。</p>
  29. <p>成都地处中国西南地区,属亚热带季风性湿润气候,自古有“天府之国”的美誉。</p>
  30. <p>
  31. <button></button>
  32. <button></button>
  33. </p>
  34. </div>
  35. </body>
  36. </html>

var() 函数的语法

var() 函数用于插入 CSS 变量的值。

var() 函数的语法如下:

  1. var(name, value)
描述
name必需。变量名(以两条破折号开头)。
value可选。回退值(在未找到变量时使用)。

注释:变量名称必须以两个破折号(—)开头,且区分大小写!


var() 如何工作

首先:CSS 变量可以有全局或局部作用域。

全局变量可以在整个文档中进行访问/使用,而局部变量只能在声明它的选择器内部使用。

如需创建具有全局作用域的变量,请在 :root 选择器中声明它。 :root 选择器匹配文档的根元素。

如需创建具有局部作用域的变量,请在将要使用它的选择器中声明它。

下面的例子与上面的例子相同,但是在这里我们使用 var() 函数。

首先,我们声明两个全局变量(—blue 和 —white)。然后,我们使用 var() 函数稍后在样式表中插入变量的值:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. :root {
  6. --blue: #1e90ff;
  7. --white: #ffffff;
  8. }
  9. body {
  10. background-color: var(--blue);
  11. }
  12. h2 {
  13. border-bottom: 2px solid var(--blue);
  14. }
  15. .container {
  16. color: var(--blue);
  17. background-color: var(--white);
  18. padding: 15px;
  19. }
  20. button {
  21. background-color: var(--white);
  22. color: var(--blue);
  23. border: 1px solid var(--blue);
  24. padding: 5px;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <h1>使用 var() 函数</h1>
  30. <div class="container">
  31. <h2>欢迎来到成都!</h2>
  32. <p>成都,是四川省省会、副省级市、特大城市、成渝地区双城经济圈核心城市,国务院批复确定的中国西部地区重要的中心城市,国家重要的高新技术产业基地、商贸物流中心和综合交通枢纽。</p>
  33. <p>成都地处中国西南地区,属亚热带季风性湿润气候,自古有“天府之国”的美誉。</p>
  34. <p>
  35. <button></button>
  36. <button></button>
  37. </p>
  38. </div>
  39. </body>
  40. </html>

使用 var() 有如下优势:

  • 使代码更易于阅读(更容易理解)
  • 使修改颜色值更加容易

如需将蓝色和白色改为较柔和的蓝色和白色,您只需要修改两个变量值:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. :root {
  6. --blue: #6495ed;
  7. --white: #faf0e6;
  8. }
  9. body {
  10. background-color: var(--blue);
  11. }
  12. h2 {
  13. border-bottom: 2px solid var(--blue);
  14. }
  15. .container {
  16. color: var(--blue);
  17. background-color: var(--white);
  18. padding: 15px;
  19. }
  20. button {
  21. background-color: var(--white);
  22. color: var(--blue);
  23. border: 1px solid var(--blue);
  24. padding: 5px;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <h1>使用 var() 函数</h1>
  30. <div class="container">
  31. <h2>欢迎来到成都!</h2>
  32. <p>成都,是四川省省会、副省级市、特大城市、成渝地区双城经济圈核心城市,国务院批复确定的中国西部地区重要的中心城市,国家重要的高新技术产业基地、商贸物流中心和综合交通枢纽。</p>
  33. <p>成都地处中国西南地区,属亚热带季风性湿润气候,自古有“天府之国”的美誉。</p>
  34. <p>
  35. <button></button>
  36. <button></button>
  37. </p>
  38. </div>
  39. </body>
  40. </html>

浏览器支持

表格中的数字注明了完全支持该属性的首个浏览器版本。

函数
var()49.015.031.09.136.0

CSS var() 函数

函数描述
var()插入 CSS 变量的值。

分类导航