发布于 2026-01-06 9 阅读
0

两分钟带你了解 CSS 变量(附交互式演示)

两分钟带你了解 CSS 变量(附交互式演示)

CSS变量已经存在很长时间了,但它们仍然非常有用。

它们可以在如下所示的元素中定义:

element {
    --my-variable: #555;
}
Enter fullscreen mode Exit fullscreen mode

变量的值可以是任何东西,从像素值到颜色再到线性渐变。

通过将变量封装在var函数中,几乎可以在任何地方使用它:

another-element {
    color: var(--my-variable);
}
Enter fullscreen mode Exit fullscreen mode

为什么不使用变量预处理器呢?

这是一个非常常见的问题,因为预处理器似乎在原生 CSS 变量出现之前就已经解决了 CSS 变量问题!

然而,CSS 变量可以实时更改且不会被编译,这意味着可以在 JavaScript 中更改 CSS 变量的值,并且所有对该变量的引用都会自动更改。接下来的示例很好地利用了这一特性,并充分发挥了 CSS 变量的优势。

CSS变量的实际应用演示

CSS 变量的一个用途是能够使用一个单独的变量来设置网站的主要颜色,然后允许用户根据需要交互式地更改该主要颜色。

这里有一个有趣的 CodePen 小示例,正好展示了这一点!

在这里,我使用一些基本的 JavaScript 代码来更改 CSS 变量,从而更改整个页面的主题颜色。

CSS变量的其他用例

以上示例只是 CSS 变量众多应用场景之一。其他可能的用途包括:

  • 为元素的默认字体大小创建一个 CSS 变量,并动态地为残障用户更改该变量。
  • 创建用于表示元素高度和宽度的 CSS 变量,并在 CSS 动画中动态更改该变量。
  • 为网站上的每种颜色创建 CSS 变量,并动态更改这些变量以创建“深色模式”或其他主题。

浏览器支持及结论

除了 IE、QQ 和百度浏览器之外,所有主流浏览器都支持 CSS 变量:CanIUse Data for CSS Variables

希望您喜欢这篇关于 CSS 变量的讲解和演示,并发现它们对您的网站有所帮助。我个人在几个网站上都使用 CSS 变量来设置颜色和字体大小,发现它们能让我的样式更加简洁、易读和易于重构。

感谢您的浏览。

——加布里埃尔·罗穆阿尔多,2020 年 1 月 27 日

文章来源:https://dev.to/gaberomualdo/css-variables-explained-in-2-minutes-with-an-interactive-demo-1hdc