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'
}
相关推荐
C_心欲无痕1 分钟前
ts - 类型收窄
前端·typescript
笔COOL创始人4 分钟前
requestAnimationFrame 动画优化实践指南
前端·javascript·面试
sophie旭7 分钟前
性能监控之首屏性能监控小实践
前端·javascript·性能优化
+VX:Fegn08958 分钟前
计算机毕业设计|基于springboot + vue物流配送中心信息化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·小程序·课程设计
北辰alk11 分钟前
一文解锁vue3中hooks的使用姿势
vue.js
北辰alk11 分钟前
vue3 如何监听路由变化
vue.js
北辰alk18 分钟前
Vue3 生命周期深度解析:从 Options API 到 Composition API 的完整指南
vue.js
Amumu1213822 分钟前
React 前端请求
前端·react.js·okhttp
内存不泄露23 分钟前
基于Spring Boot和Vue的企业办公自动化系统设计与实现
java·vue.js·spring boot·intellij-idea