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;
}
相关推荐
神明不懂浪漫6 小时前
【第四章】CSS(二)——文本外观属性与复合选择器
前端·css·经验分享·笔记
鹏多多14 小时前
Web浏览器后台离线通知方案实现以及兼容指南
前端·javascript·vue.js
yangmu320314 小时前
Vue3 响应式系统深度解析:从 Proxy 到依赖追踪
前端·javascript·vue.js
VaJoy15 小时前
全面革新⚡️ Vue 3.6 项目工程的基础实现
前端·vue.js
玖玥拾15 小时前
C# 语言进阶(十四)Unity UI界面开发 + 网络消息联动
服务器·开发语言·网络·ui·unity·c#·游戏引擎
H Journey17 小时前
web开发学习:html、css、js
前端·css·html·js
用户0595401744617 小时前
AI Agent 记忆存储踩坑实录:这个问题让我排查了 3 天,最终用 pytest + Docker 实现秒级回归
前端·css
今日无bug17 小时前
Emmet 语法速成指南
前端·css·html
Hello.Reader17 小时前
Tailwind CSS v4.3 从入门到实战Vite 安装、响应式布局、暗黑模式与主题配置
前端·css
不羁的木木18 小时前
HarmonyOS APP实战-画图APP - 第6篇:形状切换与UI优化
ui·华为·harmonyos