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'
}
相关推荐
阿凤2122 分钟前
后端返回数据流的格式
开发语言·前端·javascript·uniapp
懂懂tty31 分钟前
React Hooks原理
前端·react.js
00后程序员张31 分钟前
前端可视化大屏制作全指南:需求分析、技术选型与性能优化
前端·ios·性能优化·小程序·uni-app·iphone·需求分析
kyriewen36 分钟前
屎山代码拆不动?微前端来救场:一个应用变“乐高城堡”
前端·javascript·前端框架
@大迁世界38 分钟前
3月 React 圈又变天了
前端·javascript·react.js·前端框架·ecmascript
忆江南40 分钟前
# iOS 稳定性方向常见面试题与详解
前端
陆枫Larry42 分钟前
一次讲清楚 `Promise.finally()`:为什么“无论成功失败都要执行”该用它
前端
Momo__43 分钟前
被低估的 HTML 原生表单元素:dialog、datalist、meter、progress
前端
莹宝思密达1 小时前
【AI】chrome-dev-tools-mcp
前端·ai
用户69371750013841 小时前
2026 Android 开发,现在还能入行吗?
android·前端·ai编程