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'
}
相关推荐
用户580613939300几秒前
超越 console.log():前端调试的 10 个神级技巧
前端
却尘1 分钟前
当全世界都在用 Rust 重写一切时,Prisma 却选择了反方向
前端·数据库·orm
这是个栗子1 分钟前
前端开发者常用网站
前端
前端小白佬17 分钟前
【JS】防抖(debounce)和节流(throttle)
前端·面试
GIS之路19 分钟前
OpenLayers 从后端服务加载 GeoJSON 数据
前端
开始编程吧27 分钟前
【HarmonyOS5】仓颉编程:当多范式统一成为智能时代的「通用语言」
前端
PasserbyX36 分钟前
ES6 WeakMap 生效的证明: FinalizationRegistry
前端·javascript
努力学习的小刘39 分钟前
如何使用react-router实现动态路由
前端·javascript
PasserbyX39 分钟前
JS原型链
前端·javascript
curdcv_po39 分钟前
你知道Cookie的弊端吗?
前端