文章插图
作者:令夕
转发链接:
https://juejin.im/post/5e92ad7a518825736c5b91cd
?覆盖样式实现
最近在做网站换肤的需求 , 也就是主题切换 。那么如何切换主题的颜色呢?以下是网站换肤的实现以及基于换肤拓展的一些方案分享给大家 , 希望大家在做类似需求的时候能够有所参考 。
?
// light$color-brand1: #ffcd32;$fill-1: #fff !default;$color-text: #3c3c3c;$color-text-1: #757575;$color-text-2: #222;// dark$dark-fill-1: #222 !default; // 品牌色$dark-color-text: #fff;$dark-color-text-1: rgba(255, 255, 255, 0.3);$dark-color-text-2: $color-brand1;复制代码
// 页面使用<style lang="scss">@import "./assets/scss/index.scss";[data-theme="dark"] { body { background: $dark-fill-1; } .reaconmend .reaconmend-list .item .name { color: $dark-color-text; } .reaconmend .reaconmend-list .item .desc { color: $dark-color-text-1; } .header .text { color: $dark-color-text-2; }}</style>复制代码
利用css优先级的原理覆盖掉原有样式的实现 , 每定义一套皮肤就要定义对应的sass变量 , 以及定义一套覆盖原有样式的皮肤样式 。如果有多套皮肤的话 , 覆盖的代码量就会n套 。
「缺点」
【前端换肤的N种方案,请收下】样式不易管理 , 查找样式复杂 , 开发效率低 , 拓展性差 , 维护成本高 , 多人协作沟通麻烦 。
sass变量实现
推荐阅读
- 喝金银花水的好处,女性喝菊花茶的好处
- 迅雷再见!在全球交友网站Github,找到的6款神软件
- 五大浏览器,四大内核,指的都是什么?
- vscode如何优雅的拥抱eslint
- Win10改用微软账户登录的方法
- 淘宝竞争度怎么算 淘宝的流失竞店是怎么算的
- 破案了,Windows系统下MacBook更耗电的元凶疑似找到
- 淘宝有什么方式可以进行推广 淘宝推广的步骤和方法
- 网上如何找到更多的高清图片素材?这6个免版权图库收藏好
- 新开的淘宝店铺为什么找不到 在淘宝上开了店铺但是店铺找不到