vue3实现自定义主题色切换功能

目录

1.添加theme样式文件

文件内容如下:

css 复制代码
html[data-theme="light"]{
  --text-color: #000000;
  /* 写需要切换的样式 */
}
html[data-theme="dark"]{
  --text-color: #ffffff;
  /* 写需要切换的样式 */
}

2.引入样式文件

在main.js中引入文件:

javascript 复制代码
import './styles/theme.css'

3.使用变量设置css样式

使用var(自定义的变量名)来设置动态的css样式

css 复制代码
.text {
  color: var(--text-color);
 }

4.设置主题样式

在index.html文件里设置默认样式

5.切换方法

javascript 复制代码
<button @click="changeTheme">切换</button>
const theme = ref('dark')
const changeTheme = () =>{
	document.documentElement.setAttribute("data-theme", theme.value == "dark" ? "light" : "dark")
	theme.value = theme.value == 'dark' ? 'light' : 'dark'
}
相关推荐
GreenTea9 分钟前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
浮生望23 分钟前
前端API工程化:用 Mock 数据与 Axios 配置实现独立于后端的并行开发
前端
万少1 小时前
给 DeepSeek Harness 装个"应用商店":一条命令,595 个插件随你逛
前端·javascript·后端
波波0071 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
Brown.alexis2 小时前
es6知识点1-自备使用
前端·ecmascript·es6
小爬的老粉丝3 小时前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
计算机魔术师3 小时前
新兴多智能体系统的模式与问题
前端
用户059540174464 小时前
AI Agent 上下文污染踩坑实录:用 pytest + Redis 揪出 3 类记忆串号 bug,排查 6 小时
前端·css
满栀5854 小时前
状态管理:Redux、Vuex、Pinia 核心区别
前端·javascript·typescript
一拳不是超人5 小时前
DeepSeek Harness 为什么敢说"一切皆插件"?拆透 Cordis 引擎的五大核心机制
前端·人工智能·agent