当前位置: 首页 > web >正文

Vue主题色切换实现方案(CSS 变量 + 类名切换)

  1. 定义主题变量
// styles/themes.scss
:root {--primary-color: #314099;--secondary-color: #1E3968;--text-color: #2c44ce;
}[data-theme="红系主题"] {--primary-color: #d74146;--secondary-color: #c20707;--text-color: #db3b3b;
}
  1. 在组件中使用变量
<template><div class="app" :data-theme="currentTheme"><button @click="toggleTheme">切换主题</button><div class="content">主题色内容</div></div>
</template><script>
export default {data() {return {currentTheme: '蓝系主题'}},methods: {toggleTheme() {this.currentTheme = this.currentTheme === '蓝系主题' ? '红系主题' : '蓝系主题';localStorage.setItem('theme', this.currentTheme); // 保存到本地存储}},mounted() {const savedTheme = localStorage.getItem('theme');if (savedTheme) this.currentTheme = savedTheme;}
}
</script><style lang="scss">
@import '@/styles/themes.scss';.content {color: var(--text-color);background-color: var(--primary-color);padding: 20px;transition: all 0.3s ease;
}
</style>
http://www.xdnf.cn/news/6664.html

相关文章:

  • 【前端】[vue3] [uni-app]使用 vantUI 框架
  • 使用 OpenCV 将图像中标记特定颜色区域
  • 黑马k8s(九)
  • day 26
  • Python训练营打卡 Day27
  • Java 中使用 Redis 实现消息订阅/发布
  • 三极管知识
  • 根据台账批量制作个人表
  • 5G-A和未来6G技术下的操作系统与移动设备变革:云端化与轻量化的发展趋势
  • 【Pandas】pandas DataFrame kurt
  • 如何让 Google 收录 Github Pages 个人博客
  • go封装将所有数字类型转浮点型,可设置保留几位小数
  • AG-UI 协议:重构多模态交互,开启智能应用新纪元
  • C42-作业练习
  • 光谱相机的空间分辨率和时间分辨率
  • MinIO 开源的分布式文件服务器
  • 三格电子上新了——IO-Link系列集线器
  • 【C++】 —— 笔试刷题day_29
  • el-breadcrumb 面包屑第一项后面怎么写没有分隔符
  • 【实测有效】Edge浏览器打开部分pdf文件显示空白
  • 线程池(ThreadPoolExecutor)实现原理和源码细节是Java高并发面试和实战开发的重点
  • 文件系统交互实现
  • css:无限滚动波浪线
  • Linux du 命令终极指南:从基础到精通
  • 详解具身智能开源数据集:RH20T
  • Maven使用详解:Maven的概述(二)
  • 单片机-STM32部分:18、WiFi模组
  • 真题卷001——算法备赛
  • 小结:JavaScript 模块化工具链
  • 傅里叶变换实战:图像去噪与边缘提取