目录

前言

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 }

总结

希望能帮助到你!

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

  1. vue+element如何一键换肤和保存换肤

    因为有人问我如何一键换肤,我就随手做个案例,因为随手写的,里面命名就很随意了,但是不影响阅读. 1:assets目录下建立一个theme.scss 代码如下: .black{.alldiv{backg ...

  2. Element UI主题换肤功能(基于vue-element-admin框架)

    环境信息: 日期:2022-08-05 node版本:v14.15.4 "sass": "1.26.8", "sass-loader": & ...

  3. vue+scss实现一键换肤

    大概的思路就是给html根标签设置一个data-theme属性,然后通过js切换data-theme的属性值,Scss根据此属性来判断使用对应主题变量.这里可以选择持久化Vux配合存储属性或接口来保存 ...

  4. Vue + Element UI+Scss + Vuex一键换肤 , 一键换字体大小 ,动态替换全局主题颜色

    一.前言 其实我这个写法每个UI库都通用 , 不局限于ElementUI , 看明白思路就知道怎么写了 一键换肤 , 动态替换全局主题颜色功能已经实现很久了 , 在项目验收的时候出现了一个小问题 , ...

  5. 前端项目一键换肤vue+element(ColorPicker)

    前端项目一键换肤 1.需要配色的都是用变量声明 2.增加颜色选择器 3.改变颜色,更改初始值 1.需要配色的都是用变量声明 /* 全局样式 */ body {// 无需改变--light_color_ ...

  6. 前端 “一键换肤“ 的几种方案

    作者:熊的猫 原文:https://juejin.cn/post/7063010855167721486 前端 "一键换肤" 的几种方案 前言 现在越来越多的网站都提供了拥有换肤( ...

  7. 前端 “一键换肤“ 的 N 种方案

    前端瓶子君,关注公众号 回复算法,加入前端编程面试算法每日一题群 前言 现在越来越多的网站都提供了拥有换肤(切换主题)功能,如 ElementUI[2],既是为了迎合用户需求,或是为了凸显自己特点,因 ...

  8. vue 一键换肤 换主题

    该一键换肤只是定义好几个颜色,并进行简单的切换. 在src下的assets文件下面定义一个css文件夹,在对应的文件里面定义_handle.scss和_themes.scss文件,如下: image. ...

  9. 前端 一键换肤 的几种方案

    现在越来越多的网站都提供了拥有换肤(切换主题)功能,如 ElementUI,既是为了迎合用户需求,或是为了凸显自己特点,因此提供了个性化定制的功能. 其实之前就想了解和实现 "一键换肤&qu ...

最新文章

  1. python使用matplotlib可视化折线图、在可视化图像中同时绘制多条折线图
  2. [tomcat7源码学习]结束Bootstrap进入Catalina
  3. wpf中内容包含在border中_WPF:点击后聚焦边框(WPF: Focus border after click)
  4. java游戏输赢统计_java利用多线程和Socket实现猜拳游戏
  5. C++this指针的用途
  6. Java 8中java.util.function包中的谓词和使用者接口
  7. 如何找回系统盘丢失的空间
  8. 浅谈C++中内存泄漏的检测
  9. 通知:小密圈暂停服务
  10. 星环分析型数据库Inceptor中database link的使用总结
  11. android可视化编程软件,图形化编程安卓版下载-图形化编程appv1.3.0 最新版下载_飞翔下载...
  12. 高级Java程序员面试宝典
  13. 电子与智能化工程专业承包资质标准
  14. 江苏大学毕业论文答辩PPT模板
  15. python图像降采样,【图像处理】——改变图像的大小(降采样重采样)
  16. 深度学习GPU显卡的浮点计算性能指标分析
  17. 服务器日志显示system特殊登陆,事件查看器 安全 特殊登陆 什么意思??
  18. 基于html5的五子棋游戏
  19. Siggraph三角网格变形之拉普拉斯变换
  20. 链表之链表的结点插入

热门文章

  1. Python项目实战(三):爬取东方财富热门股票数据
  2. oracle被锁常用查询语句
  3. 解决SPSS 22授权creat not jvm问题
  4. 投基取巧:如何选择基金及构建投资组合?基金投资进阶经验分享,附思维导图!
  5. PM981/PM981a安装黑苹果-Paragon Hard Disk Manager教程
  6. win10录屏软件哪款比较好用?一款不限时长的录屏软件
  7. SDDC的Windows初体验-QT篇
  8. 华为OD两轮技术面试
  9. cad模型轻量化_UNISOL告诉你,CAD与VR能迸发出怎样的火花
  10. 用CSS把文字显示成哆啦A梦