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

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>

相关文章:

  • 存储器上如何存储1和0
  • 类模板的简单实例
  • mybatisPlus 新增时 其他字段的值和 id 保持一致实现方法
  • 基于Unity的简单2D游戏开发
  • Vue.js---计算属性computed和lazy
  • 用Python生成词云图的几种方式
  • Chrome拓展(Chrome Extension)开发定时任务插件
  • AWS中国区CloudFront证书管理和应用指南
  • 学习笔记(C++篇)--- Day 5
  • Untiy入门学习(一)3D数学(1)之数学计算公共类Mathf
  • 电子电器架构 --- Zonal架构正在开创汽车电子设计新时代
  • 全流程控制策略,确保AEM制氢安全性
  • 【四川省专升本计算机基础】第二章 计算机软硬件基础(1)
  • C++:内部类
  • upload-labs通关笔记-第7关 文件上传之空格绕过
  • 【开源Agent框架】CAMEL:角色扮演+任务分解
  • YOLOv7训练时4个类别只出2个类别
  • c++ 类的语法3
  • YOLO11解决方案之对象裁剪探索
  • NoSQL数据库复习题目要点
  • 马上评|科学红毯,让科学家成为“最亮的星”
  • 孟夏韵评《无序的学科》丨误读与重构的文化漂流
  • 幼儿园教师拍打孩子额头,新疆库尔勒教育局:涉事教师已被辞退
  • 浙江演艺集团7部作品组团来沪,今夏开启首届上海演出季
  • 中国社联成立95周年,《中国社联期刊汇编》等研究丛书出版
  • 普京调整俄陆军高层人事任命