//当HTML的data-theme为dark时,样式引用dark
//data-theme为其他值时,就采用组件库的默认样式
//这里我只定义了两套主题方案,想要再多只需在`$themes`里加就行了
//注意一点是,每套配色方案里的key可以自定义但必须一致,不然就会混乱$themes: (green: ( //字体font_color1: #07bc78,//背景background_color1: #07bc78,background_color2: #18b277,background_color3: #0aa170,// 主体颜色main-background_color1: #eff4ee,// 按钮颜色btn_color:#07bc78,//边框border_color1: #07bc78,// 阴影box_shadow_color:rgba(56,210,78,0.6)),pink: ( //字体//字体font_color1: #ff4b50,//背景background_color1: #ff4b50,background_color2: #ff4b50,background_color3: #ff4b50,// 主体颜色main-background_color1: #f4eef0,// 按钮颜色btn_color:#ff4b50,//边框border_color1: #ff4b50,// 阴影box_shadow_color:rgba(255, 75, 80,0.6)));//遍历主题map
@mixin themeify {@each $theme-name,$theme-map in $themes {//global 把局部变量强升为全局变量$theme-map: $theme-map !global;//判断html的data-theme的属性值  #{}是sass的插值表达式//& sass嵌套里的父容器标识   @content是混合器插槽,像vue的slot[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;}
}
//获取边框颜色
@mixin border_line_color($color,$num:1px) {@include themeify {border: $num  solid themed($color) !important;}
}
// 阴影
@mixin box-shadowr($shadows,$color) {@include themeify {box-shadow: $shadows themed($color) !important;}
}
.button {width: 132px;height: 36px;line-height: 34px;font-size: 16px;letter-spacing: 1px;color: #ffffff;//设置背景颜色@include background_color("background_color1");border-radius: 4px;//设置边框颜色@include border_line_color("border_color1");box-sizing: border-box;cursor: pointer;}

全局的地方使用方法

window.document.documentElement.setAttribute( "data-theme", 'pink' );

scss 动态更换主题样式相关推荐

  1. 一键换肤--动态更换主题颜色风格

    基于前一段时间项目具有换肤需求的功能,几经预研学习换肤功能效果,网上的资源很多,最初看到是网易换肤的酷炫效果,今天得空打算写一篇关于换肤功能的文章,项目无需重启Activity的就可以实现无缝换肤切换 ...

  2. 动态更换主题色(换肤功能)

    文章目录 对于可供选择的颜色/主题样式换肤的实现 一个全局class控制样式切换 JS改变href属性值切换样式表,例如 HTML 的 rel 属性下的 alternate 实现: 对于制定动态色值换 ...

  3. 使用 css/less 动态更换主题色(换肤功能)

    前言 说起换肤功能,前端应该是非常熟悉了? 一般来说换肤的需求分为几种: 1. 纯前端,直接在页面前端通过点击自由切换限定的几种主题色,切换之后主题色变量存到本地浏览器 2. 在后台配置好色值,传到前 ...

  4. ECharts实现动态切换主题样式

    ECharts是百度开源的一个JS数据可视化库.通过颜色主题可以轻松实现不同颜色样式的修改,也可以通过调色盘.直接样式设置.高亮样式等方法实现. ECharts4 开始,除了一贯的默认主题外,新内置了 ...

  5. html积极向上的主题设计,css/less 实现动态更换主题色

    固定主题色的切换 思路:访问网页 => js读取缓存(判断是否有主题色的值,没有就默认皮肤,有则使用指定皮肤) => 用户点击换肤 => js切换对应的css样式文件即可 => ...

  6. Ant design vue中实现动态更换主题色

    一.创建vue项目 可视化创建步骤:cmd调出窗口,输入vue ui,自动在浏览器上打开新窗口 输入文件名 ,文件名最好是英文 然后进行配置功能, 根据需求选择配置功能 这里最好选择2.0版本, 可以 ...

  7. vue scss 一键更换主题色,字体等页面等页面大体样式

    主要采用scss 编程式思想实现 以上文件从上到下进行说明 _variables.scss 文件主要写主题色 字体边框等变量 内容如下: ------------------------------- ...

  8. Rstudio更换主题/样式

    github项目地址:https://github.com/gadenbuie/rsthemes 安装 在 rstudio 的控制台console中数据: install.packages(" ...

  9. scss 动态切换主题解说

    代码解说: 1.定义两个主题颜色:分别作字体颜色和背景颜色 $themes: (     red: (fontColor: red,bgColor:gold),     yellow: (fontCo ...

最新文章

  1. 【C】数组数组初始化总结
  2. 盘点 10 个代码重构的小技巧
  3. 云计算情报局预告|告别 Kafka Streams,让轻量级流处理更加简单
  4. Swift 位运算练习
  5. 实战Cisco路由器交换机各型号密码恢复
  6. 好友消息和群消息区别
  7. (18)Vue DevTools插件
  8. SAR成像(七):RD成像算法
  9. python3.7怎么安装tensorflow_gpu_(更新版)python3.7 Windows10 tensorflow-GPU 安装
  10. 【DEF CON】数十亿物联网设备受严重随机数生成器缺陷影响
  11. 1090. Highest Price in Supply Chain (25)-PAT甲级真题
  12. 使用sharepoint自带的文本编辑器1
  13. QT编程-----------------窗口部件的使用(QWidget和QDialog)
  14. 疫情后为提高免疫力和健康对红参需求大幅上升;辉瑞与辉凌就前列腺癌创新药注射用醋酸地加瑞克达成战略合作 | 医药健闻...
  15. Windows10专业版系统“本地组策略编辑器”丢失解决方案
  16. java毕业设计学生社团管理与评价系统Mybatis+系统+数据库+调试部署
  17. 一文读懂《医疗器械定期风险评价报告》撰写要点
  18. java testsuite_JUnit —— TestSuite 的使用
  19. pcb布局设计_PCB设计布局的重要提示
  20. 紫杉醇人血清白蛋白纳米粒PTX-HSA|阿霉素卵清白蛋白纳米粒DOX-OVA|顺铂小鼠血清白蛋白纳米粒CDDP-MSA(试剂)

热门文章

  1. 微信小程序分享朋友圈的实现思路与解决办法
  2. 【Linux】关闭启动防火墙
  3. 新房装修的简约日式装修风格技巧和装修攻略
  4. 解决Collection Object ([:protected]=Array())报错
  5. 迅雷发布了一套超级可爱的表情包
  6. 【无标题】编写一个程序提示用户输入一个整数,然后显示这个整数的所有数字的和。
  7. EPSON喷墨打印机小经验-黑色墨盒也影响彩色墨盒!
  8. 用python写一个小恐龙代码
  9. Bluetooth L2CAP
  10. android将彩图转为黑白_[Android学习笔记九] Android 开发中图片灰阶(黑白)显示...