Vue Element-ui 一键换肤的方案(第二种)

目录

前言

1、新建类名

2、定义变量

3、使用

 4、关于切换主题的逻辑

总结


前言

因为涉及到除了ui库以外的样式需要配置两个风格或者更多的颜色,所以有了这个方案的出现。


1、新建类名

首先在style找到element这个文件夹,在base-variable.scss里,我直接新建了两个类名,浅色与深色(项目里只需要用到这两个主题色)

2、定义变量

   在这两个类名里,写的颜色变量一定要一致,

 

  遵循scss规则,在两个类名里,定义颜色变量以后,再次定义一个以--开头的颜色变量,这个就是我们后面在vue文件里需要用到的颜色变量,

 

3、使用

 4、关于切换主题的逻辑

这是写在一个js文件里的,然后,需要啥就用啥。

 // 存储值
 function saveStorage(theme) {
    window.sessionStorage.setItem('theme', theme);
    toggleClass(document.body,`custom-${theme}`)
 }
 // 获取值
 function getTheme() {
  let theme = window.sessionStorage.getItem('theme') || '52ffff';
  console.log(theme, 'theme')
  toggleClass(document.body,`custom-${theme}`)
 }

 function toggleClass(element, className) {
  if (!element || !className) {
    return;
  }
  element.className = className;
}

 export { saveStorage,getTheme,toggleClass }

 


总结

希望能帮助到你!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值