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;
}
相关推荐
谁点的猪脚饭8 分钟前
vue2 element-ui 中 el-radio 单选框点击事件失效问题
vue.js·elementui·vue2
苹果酱05671 小时前
redis系列--1.redis是什么
java·vue.js·spring boot·mysql·课程设计
琦遇2 小时前
Vue3使用AntvG6写拓扑图,可添加修改删除节点和边
前端·javascript·vue.js
爱上大树的小猪2 小时前
【前端进阶】深入解析 Flexbox 布局中的 flex-shrink 与 gap 兼容性问题
前端·css·面试
南囝coding2 小时前
做Docx预览,一定要做这个神库!!
前端·vue.js·面试
lljss20202 小时前
html-css样式
前端·css·html
江城开朗的豌豆2 小时前
CSS篇:告别单调背景:CSS渐变的20种惊艳用法
前端·css·面试
江城开朗的豌豆2 小时前
CSS篇:Flex布局核心属性详解:flex-grow/shrink/basis到底怎么用?
前端·css·面试
Danny_FD2 小时前
前端盒模型详解
前端·css
樊小肆2 小时前
Vue3 在线 PDF 编辑 1.0 保存、下载
前端·vue.js