动态更新CSS自定义变量属性值,感觉非常棒的小技巧

21 篇文章 1 订阅
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>动态更新CSS属性值</title>
<style>
:root {
  --qq: red;
}
#ex1 {
  color: var(--qq);
}
</style>
</head>
<body>
<h1>setProperty() 方法</h1>

<p>点击按钮动态更新CSS 属性值。
   包括可以更新var()
   css自定义变量以:root 并且--开头
</p>

<button onclick="myFunction()">点我</button>

<div id="ex1">一些文本。</div>

<script>
function myFunction() {
  //var declaration = document.styleSheets[0].cssRules[0].style;
  var style =document.getElementById('ex1').style;
  var setprop = style.setProperty("--qq", "yellow");
  //点击的时候就会把颜色变成黄色了
}
</script>

</body>
</html>

平时我们做的tab切换,动态改变颜色,等等....都可以这样做。简直太爽了。

  下面这种是vue方式设置全局主题

vue引入方式设置主题
export default function(styleObject) {
  const docStyle = document.documentElement.style;
  for (let key in styleObject) {
    if (styleObject.hasOwnProperty(key)) {
      docStyle.setProperty(key, styleObject[key]);
    }
  }
}

import setTheme from "@/theme"; //设置主题色 

setTheme({
  "--mtc": "#4EC190",
  "--mtc-rgba": "rgba(78,193,144,1)",
  "--mtc-hover": "#37AB7A",
  "--mtc-active": "#49CD95",
  "--mtc-disabled": "#90D4B5",
  "--headerBarBg":
    "linear-gradient(69deg,rgba(36,152,105,1) 0%,rgba(57,174,124,1) 100%)",
  "--fc-dark": "#757575", //字体颜色
  "--sc": "rgba(255, 95, 95, 1)", //辅色(红色)
  "--sc-hover": "rgba(236, 89, 89, 1)",
  "--sc-active": "rgba(255, 118, 118, 1)"
});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值