1.配置主题定义scss:_theme.scss

$themes: (blue: (base_color: $blue-1,light_color: rgba($blue-1, .1)),purple: (base_color: $purple-1,light_color: rgba($purple-1, .1)),cyan: (base_color: $cyan-1,light_color: rgba($cyan-1, .1)),green: (base_color: $green-1,light_color: rgba($green-1, .1)),magenta: (base_color: $magenta-1,light_color: rgba($magenta-1, .1)),lime: (base_color: $lime-1,light_color: rgba($lime-1, .1)),red: (base_color: $red-1,light_color: rgba($red-1, .1)),orange: (base_color: $orange-1,light_color: rgba($orange-1, .1)),yellow: (base_color: $yellow-1,light_color: rgba($yellow-1, .1)),volcano: (base_color: $volcano-1,light_color: rgba($volcano-1, .1)),geekblue: (base_color: $geekblue-1,light_color: rgba($geekblue-1, .1)),gold: (base_color: $gold-1,light_color: rgba($gold-1, .1)))

2.主题切换scss: _handle.scss

//主题切换@import "./_theme";@mixin themeify {@each $theme-name,$theme-map in $themes {$theme-map: $theme-map !global;[data-theme="#{$theme-name}"] & {@content;}}
}//声明一个根据Key获取颜色的function
@function themed($key) {@return map-get($theme-map, $key);
}//获取背景颜色
@mixin background_color($color) {@include themeify {background-color: themed($color) !important;}
}//获取字体颜色
@mixin font_color($color) {@include themeify {color: themed($color) !important;}
}//获取边框颜色
@mixin border_color($color) {@include themeify {border-color: themed($color) !important;}
}

3.引入sass-resources-loader

yarn add sass-resources-loader --save

4.我是使用脚手架搭建项目,所以在webpack.base.conf.js增加配置,使用公共scss

5.在index.html中或者app.vue中设置/切换属性

6.在vue文件中 使用_handle.scss中的方法设置需要换肤改变颜色的元素

这样 基本的换肤就完成啦

vue换肤方案scss相关推荐

  1. 最成熟的前端换肤方案(主题切换)

    前言 在网上找了很多的换肤方案,其中我认为写的最好的也是有demo 的无疑是这篇,但是同时也发现了一些问题,就是太多方案不知道选哪个,而且没有做持久化处理,并且没有把图片切换的代码放在一起.我这边的需 ...

  2. 换肤方案,换肤策略,App插件式换肤实现方案

    UI换皮肤或白天黑夜模式,从产品上来看,是两种不同产品设计模式:白天黑夜模式只有两种模式:而换皮肤可以有多套,可以进行商业化,并盈利. 换肤的本质就是去替换资源文件.我们知道,Android应用程序由 ...

  3. Android可更换布局的换肤方案

    换肤,顾名思义,就是对应用中的视觉元素进行更新,呈现新的显示效果.一般来说,换肤的时候只是更新UI上使用的资源,如颜色,图片,字体等等.本文介绍一种笔者自己使用的基于布局的Android换肤方案,不仅 ...

  4. Android 主题切换/换肤方案 研究(四) - qq和qq空间

    4. qq和qq空间 (独立app) 分析时用的是: 1. 夜神android模拟器(因为用android studio自带的模拟器运行x86架构的镜像提示不能安装qq空间,安装arm架构的镜像运行又 ...

  5. Android 应用换肤方案的总结

    虽然现在已经有很多不错的换肤方案,但是这些方案或多或少都存在自己的问题.在这篇文章中,我将对 Android 现有的一些动态换肤方案进行梳理,对其底层实现原理进行分析,然后对开发一个新的换肤方案的可能 ...

  6. 对 Android 应用换肤方案的总结

    作者:me 虽然现在已经有很多不错的换肤方案,但是这些方案或多或少都存在自己的问题.在这篇文章中,我将对 Android 现有的一些动态换肤方案进行梳理,对其底层实现原理进行分析,然后对开发一个新的换 ...

  7. 主流技术之网易云换肤方案

    上一篇说到了View的加载过程,并且对TextView进行了拦截,让页面上所有的TextView内容都变成了我们想要的helloworld,这次我们一起来研究一下网易云音乐的动态换肤技术.说到换肤,有 ...

  8. Android 换肤方案详解(一)

    引言 在我们的开发中,也许有些项目会有换肤的需求,这个时候会比较头疼怎么做才能做到一键换肤呢?大家肯定是希望只要一行代码就能调用最好.下面我们先分析一下换肤的本质是什么? 原理 换肤,其本质无非就是更 ...

  9. iOS客户端节日换肤方案探究

    转自:https://www.ianisme.com的博客 一.前言: tip: 本来这篇文章在圣诞节就已经准备好了,但是由于种种原因一直没有写完,今天将它写出来,也算是2018年的第一篇文章了.你好 ...

最新文章

  1. Visual Studio 15改进C++工程加载
  2. Java控制语句——switch语句
  3. 110. Balanced Binary Tree
  4. linux下补丁制作及打补丁实例
  5. 线性代数学习点(五):向量运算规则的几何表示
  6. 1999.00 php,CBA20周年之1999-00赛季-前卫先合并后解散 八一5连冠
  7. Android设置标题栏透明
  8. 定义一个复数类Complex,使得下面的代码能够工作:
  9. 关于程序员成长的一点思考
  10. LeetCode 216组合总和III 17电话号码的字母组合
  11. 使用 Vscode +PlantUml 画uml图
  12. eclipse 中 svn 代码报错如下 org.apache.subversion.javahl.ClientException:Filesystem has no item
  13. python编写word_如何使用Python来编辑word
  14. 大数据实践:数据指标中心的建设思路
  15. Web测试的各个测试点
  16. android启动页背景设置,Android APP启动页白(黑)屏问题及解决方法
  17. 基于珠宝行业的RFID资产管理解决方案-新导智能
  18. 逆市稳进的基本盘 苏宁赢了什么?
  19. C语言快排函数qsort()
  20. 华为鸿蒙系统下载猫薄荷,华为鸿蒙系统

热门文章

  1. (阶次分析、阶比追踪)故障诊断之基于振动信号的阶比谱分析
  2. 【软件质量】软件可靠性
  3. 自动化测试——unittest框架(单元测试)
  4. hi3798mv300救砖包_魔百和m301h_cw_hi3798mv300_emmc_rtl8822备份救砖固件包下载
  5. 《IDA权威指南》复习笔记
  6. Java之方法的重载
  7. 截图功能是怎么出现的?截图怎么转换成文字?
  8. JPG与PNG的区别——PDF转格式遇到的问题
  9. 梦幻西游服务器能支持,梦幻西游第五十二次服务器合并规划
  10. MFRC522读卡器驱动程序