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'
}
相关推荐
Wcy30765190662 分钟前
web前端第二次作业
前端·javascript·css
waterHBO5 分钟前
css 模拟一个动画效果,消息堆叠。
前端·css
前端加油站21 分钟前
在 cursor 成为流行的开发方式后,作为普通开发我们能做什么
前端
Cache技术分享29 分钟前
163. Java Lambda 表达式 - Function 的链式组合
前端·后端
柯南952741 分钟前
Vue 3 响应式系统源码解析
vue.js
Zestia1 小时前
页面点击跳转源代码?——element-jumper插件实现
前端·javascript
前端小白19951 小时前
面试取经:工程化篇-webpack性能优化之优化loader性能
前端·面试·前端工程化
PineappleCoder1 小时前
大小写 + 标点全搞定!JS 如何精准统计单词频率?
前端·javascript·算法
zhangbao90s1 小时前
Web组件:使用Shadow DOM
前端
hhy前端之旅1 小时前
语义版本控制:掌握版本管理的艺术
前端