赞
踩
1.需要配色的都是用变量声明
2.增加颜色选择器
3.改变颜色,更改初始值
1.需要配色的都是用变量声明
/* 全局样式 */
body {
// 无需改变
--light_color_aside: #f6f6f6;
// 主题色
--light_colourt: #E60027;
--theme_color: #EC5E59;
--light_color_btn: #F9D8D8;
--light_colour: #EBDAD9;
--light_color_hover: #FFF2F0;
}
在main.js中引入即可,在其他需要使用的地方
.u__title {
background-color: var(--light_color_aside) !important;
}
2.增加颜色选择器
使用了element中的颜色选择器ColorPicker组件
<div class="changeTheme" title="一键换肤">
<div class="changeThemeChild">
<el-color-picker
color-format="rgb"
v-model="CurrentColorpicker"
size="mini"
:predefine="predefineColors"
@change="colorActiveChange"
></el-color-picker>
</div>
</div>
3.改变颜色,更改初始值
data:
data() {
return {
CurrentColorpicker: '',
predefineColors: ['#E60027', '#409eff', '#00288a', 'rgb(29, 30, 31)'],
};
},
获取颜色默认值,在vuex中存储,vuex做了持久化,不会丢失,当然只针对本次登录,没有走接口保存在数据库
computed: {
...mapState({
colorpicker: (state) => state.home.colorpicker,
}),
},
页面初始化
created() {
this.colorActiveChange(this.colorpicker)
}
方法
import { mapState, mapMutations } from "vuex"; methods: { colorActiveChange(light_colourt) { this.CurrentColorpicker = light_colourt //更新vuex中的值 this["home/setColorpicker"](light_colourt) if (light_colourt === 'rgb(230, 0, 39)') { // 红色主题 document.body.style.setProperty(`--light_colourt`, '#E60027'); document.body.style.setProperty(`--theme_color`, '#EC5E59'); document.body.style.setProperty(`--light_color_btn`, "#F9D8D8"); document.body.style.setProperty(`--light_colour`, "#EBDAD9"); document.body.style.setProperty(`--light_color_hover`, "#FFF2F0"); return false } // rgb(94, 36, 36) const theme_color = light_colourt.replace(')', ',.8)') const light_color_btn = light_colourt.replace(')', ',.15)') const light_colour = light_colourt.replace(')', ',.12)') const light_color_hover = light_colourt.replace(')', ',0.02)') document.body.style.setProperty(`--light_colourt`, light_colourt); document.body.style.setProperty(`--theme_color`, theme_color); document.body.style.setProperty(`--light_color_btn`, light_color_btn); document.body.style.setProperty(`--light_colour`, light_colour); document.body.style.setProperty(`--light_color_hover`, light_color_hover); }, ...mapMutations(["home/setColorpicker"]), }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。