css实现主题切换

2021-08-30  本文已影响0人  泡杯感冒灵
项目中常遇到主题且切换的需求,网上有很多实现方法,这里主要总结下分别用css和less实现的思路
CSS实现:
.header{
  background: --themeColor;
  color: --fontColor;
}
<el-color-picker v-model="color1" @change="changeThemeColor"></el-color-picker>

changeThemeColor 方法是 提交的 store里的 mutation


image.png
总结:这种方法虽然简单,但是不够灵活,后期变量多了维护也比较麻烦。

下边改进一下,变量的默认值,我们还是写在#app中,或者:root中 。我们新建一个单独的样式文件,里边放入我们要切换的不同的主题

// theme.js
export const themeModel = {
    themeA:{
        themeColor:'#008cff',
        fontColor:'#fff'
    },
    themeB:{
        themeColor:'pink',
        fontColor:'#000000'
    },
    themeC:{
        themeColor:'green',
        fontColor:'#f5de19'
    }
}
上一篇 下一篇

猜你喜欢

热点阅读