项目搭建用的vue—cli,css框架挑选的iview
1、起首装置less支撑
npm install --save-dev less-loader less
然后去build文件夹下的webpack.base.conf.js文件中,添加对.less的支撑
2、准备工作做好了,最先换肤
2.1新建一个文件夹styles,在内里新建一个文件theme.less
定义一个.theme()要领,写上须要的色彩参数如图:
2.2 styles文件夹下再新建一个寄存各种主题的color.less文件,内里依据本身需求定义各种主题,记得把theme.less文件引入
@import url('./theme.less');
.theme1{
.theme();//默许的款式
}
.theme2{
.theme(rgb(141, 139, 219),#fff,#eee,rgb(130, 126, 240));
}
.theme3{
.theme(rgb(172, 214, 200),#615f5f,#fff,rgb(91, 139, 123));
}
2.3 在main.js中引入color.less文件
import './styles/color.less'
2.4 在举行主题挑选的.vue文件中,举行以下操纵
<Dropdown>
<a href="javascript:void(0)">
下拉菜单
<Icon type="arrow-down-b"></Icon>
</a>
<DropdownMenu slot="list">
<DropdownItem @click.native="changeColor(1)">摇滚主题</DropdownItem>
<DropdownItem @click.native="changeColor(2)">新时代主题</DropdownItem>
<DropdownItem @click.native="changeColor(3)">基本主题</DropdownItem>
</DropdownMenu>
</Dropdown>
//替换主题
changeColor(num){
//把className theme1,theme2,theme3挂载在app.vue的<div id="app"></div>上
document.getElementById('app').className ='theme'+num ;
this.localStorageDate()
},
//存储localStoarge,用于进入体系时,记着用户上一次的挑选,自动加载用户上一次挑选的主题主题,记得在mounted()内里挪用
localStorageDate(){
localStorage.setItem('app',document.getElementById('app').className)
}