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'
}
相关推荐
ETA81 分钟前
浏览器渲染机制与优化实战
前端·浏览器
柏箱5 分钟前
文件上传漏洞入门:(upload-labs Pass-1 & Pass-2)
开发语言·前端·javascript
李剑一6 分钟前
Cesium 海量点位不卡顿!图标动态聚合效果深度解析,看完直接抄代码!
前端·vue.js·cesium
CHU7290357 分钟前
扭蛋机盲盒小程序:趣味交互与惊喜体验的功能设计
前端·小程序
CHU72903511 分钟前
AI辅助工具小程序:多元功能助力,开启智能便捷新体验
前端·人工智能·小程序
予你@。12 分钟前
Vue 项目中如何引用本地字体(完整指南)
前端·javascript·vue.js
大雷神16 分钟前
HarmonyOS APP<玩转React>开源教程十四:进度管理服务
前端·react.js·开源·harmonyos
小江的记录本17 分钟前
【JWT】JWT(JSON Web Token)结构化知识体系(完整版)
前端·网络·web安全·http·网络安全·json·安全架构
kyriewen1119 分钟前
Sass 进阶:当 CSS 学会了编程,变量函数循环全都安排上
前端·javascript·css·less·css3·sass·html5
重生之光头强下海当程序猿19 分钟前
调整word中的序号格式(缩进,起始值,序号与文字的间距等
前端·css·word