css var() 变量的用法、作用

8 篇文章 0 订阅
本文介绍了CSS变量var()的使用,通过定义全局变量并在JavaScript中动态修改,实现颜色等样式的变化。示例中展示了如何在按钮点击事件中改变元素背景色,并提及var()在UI框架如vant中的应用,支持主题切换。强调了var()相对于预处理语言如Sass的优势。
摘要由CSDN通过智能技术生成

var() 其实已经出了很久了,它的使用方式也很简单,就是纯粹定义/使用变量,咋们废话不多说,来看看使用案例

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title></title>
 <style type="text/css">
 	/* 在这里定义变量 */
   :root{
     --var-primary-color: red;
     --var-cyan-color: blue;
   }

   .box{
     width: 20px;
     height: 20px;
     /* 通过 var(变量名) 引入变量即红色 */
     background: var(--var-primary-color);
   }
 </style>
</head>
<body>
 <div class="box"></div>
 <button onclick="onChange()">改变颜色</button>
 <script type="text/javascript">
 	// 改变颜色
   function onChange() {
     // 通过 setProperty 函数将其 --var-primary-color 变量更改为绿色
     document.documentElement.style.setProperty('--var-primary-color', 'orange')
     // 你也可以用 var(--var-cyan-color) 的方式传递进去,它会自动转成对应的 blue
     // document.documentElement.style.setProperty('--var-primary-color', 'var(--var-cyan-color)')
   }
 </script>
</body>
</html>

效果图
在这里插入图片描述

我们可以看到,定义了变量后,在利用 JS 提供的 API 去更改它的变量,这也是笔者最喜欢它的一点,像 sass 这种 css 预处理编译器是做不到的,另外,它也支持 UI 框架标签颜色属性传递,如 vant 框架里面的 slider 标签的 active-color 属性

<van-slider 
class="slider"
 v-model="state.currentSize"
 :min="state.minSize" 
 :max="state.maxSize"
 active-color='var(--var-primary-color)'  传递变量进去依然生效
 />

当然了,笔者最喜欢的是利用 var 来做 Theme(主题) 切换,但笔者就不在阐述啦,相信看到这里你能发现 var 的作用还是蛮多的,我们其实只需关心它能够通过 JS 动态改变就够了,具体使用场景得看实际需求。

Note
使用 var 并不代表完全抛弃 sass ,你也可以混合使用。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cookcyq

请作者喝杯暖暖的奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值