Vue 动态加载全局样式css(切换ui主题方案)

思路:

1、准备多个主题的css

ui.css (标准主题)

ui-red.css (红色主题)

ui-blue.css (兰色主题)

该主题定一些按钮的样式,字体的大小,颜色

main.js中根据场景来引用css

javascript 复制代码
import Vue from 'vue'
import App from './App'
import router from './router'
import VueRouter  from 'vue-router'

....

if (sessionStoreage("orgType") == 1) {
    Vue.mixin({
      created () {
        require('@/assets/css/ui.css')
      }
    })
} else if (sessionStoreage("orgType") == 2) {
    Vue.mixin({
      created () {
        require('@/assets/css/ui-red.css')
      }
    })
} else if (sessionStoreage("orgType") == 3) {
    Vue.mixin({
      created () {
        require('@/assets/css/ui-blue.css')
      }
    })
}

上面代码是根据不同的机构类型显示不同的主题,比如说,当org_type=2时,引用了ui-red.css,里面定义的按钮样式是红色,到时就是显示的红色按钮

ui.css

css 复制代码
.ui-print-button {
    background: blue;
    border-radius: 0px;
    padding-left:15px;
    padding-right:15px;
    min-width: 30px;
    height: 30px;
    color: #fff;
    font-size: 14px;
}

ui-red.css

css 复制代码
.ui-print-button {
    background: red;
    border-radius: 0px;
    padding-left:15px;
    padding-right:15px;
    min-width: 30px;
    height: 30px;
    color: #fff;
    font-size: 14px;
}
相关推荐
界面开发小八哥28 分钟前
DevExtreme Angular UI控件更新:引入全新严格类型配置组件
前端·ui·界面控件·angular.js·devexpress
bitbitDown36 分钟前
重构缓存时踩的坑:注释了三行没用的代码却导致白屏
前端·javascript·vue.js
Solon阿杰1 小时前
前端(react/vue)实现全景图片(360°)查看器
javascript·vue.js
前端程序猿i2 小时前
用本地代理 + ZIP 打包 + Excel 命名,优雅批量下载跨域 PDF
前端·javascript·vue.js·html
Danny_FD2 小时前
Vue2 中使用vue-markdown实现编辑器
前端·javascript·vue.js
前端赵哈哈2 小时前
Vue 3 + TypeScript 项目模板
前端·vue.js·vite
一只大黑洋2 小时前
Clipboard.js 复制内容
前端·javascript·vue.js
艾小码2 小时前
深入解析CSS伪类:从基础到高级实战指南
前端·css
鹏多多2 小时前
vue混入mixins详解和生命周期影响
前端·javascript·vue.js
柯南95272 小时前
Vue 3 响应式系统核心:dep.ts 解析
vue.js