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'
}
相关推荐
晓风伴月8 分钟前
Css:如何解决绝对定位子元素内容被父级元素overflow:hidden属性剪裁
前端·css·overflow裁剪
Carlos_sam8 分钟前
OpenLayers:海量图形渲染之矢量切片
前端·javascript
Nexmoe10 分钟前
20 万行代码:我们如何构建和维护大规模 AI 原型系统
前端
zhangxingchao10 分钟前
Andrdoid中常用的JVM知识整理
前端
海底火旺10 分钟前
聊一聊JavaScript中的立即执行函数(IIFE)
前端·javascript
76756047910 分钟前
useMemoize 方法源码解读与实战应用
前端·源码
青青奇犽11 分钟前
跨域问题全解析:七种方法轻松拿捏跨域
前端·javascript·面试
loooseFish12 分钟前
使用canvas模拟 美图AI画质消除中 选中区域上传(第一次正式使用canvas小记)
前端
计算机-秋大田22 分钟前
基于Spring Boot的轻型卡车零部件销售平台的设计与实现(LW+源码+讲解)
java·vue.js·spring boot·后端·课程设计
林十一npc26 分钟前
MySQL索引与视图综合应用示例解析
android·前端·mysql