最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
vue3viteantdeignvue黑暗模式实现流程
时间:2026-06-08 10:36:54 编辑:袖梨 来源:一聚教程网
1、实现黑暗模式
主要是对css变量的抽取和全局css的替换
2、编写一个全局的css变量css文件
:root{ --page-bg-color: #fff; --head-bg-color: rgba(255, 255, 255, 0.7); --text-color:rgba(0, 0, 0, 0.85); --line-color: #e8e8e8; --content-bg-color:#f0f2f5;}3、创建dark.less和light.less文件对应黑暗和白天
dark.less
@import "../../node_modules/ant-design-vue/dist/antd.dark.less";@import "./index.css";@import "./base.less";@import "./vars.css";
light.less
@import "../../node_modules/ant-design-vue/dist/antd.less";@import "./index.css";@import "./base.less";@import "./vars.css";
4、在less和css中用变量替换掉原本的数值
.pagemodal { background: white; background: var(--page-bg-color); border-radius: 5px; padding: 10px;}5、编写切换css函数
// 切换cssexport const changeTheme = (theme: string) => { const head = document.head; document.getElementById("theme")?.remove(); const styleDom = document.createElement("style"); styleDom.id = "theme"; styleDom.innerHTML = theme; head.appendChild(styleDom);};// 改变css变量export const changeCss = (css: string, value: string) => { const body = document.body.style; body.setProperty(css, value);};6、编写一个切换黑暗白天模式的函数
//引入ant design vue的css 白色和黑色的less文件都要引入import light from "../less/light.less";import dark from "../less/dark.less";// 切换黑暗模式或者白天模式export const DarkMode = (isDark: boolean) => { if (isDark) { changeTheme(dark); changeCss("--page-bg-color", "#141414"); changeCss("--head-bg-color", "rgba(0, 0, 0, 0.5)"); changeCss("--line-color", "#2e2e2e"); changeCss("--content-bg-color", "rgb(255 255 255 / 4%)"); changeCss("--text-color", "rgba(255, 255, 255, 0.85)"); } else { changeTheme(light); changeCss("--page-bg-color", "white"); changeCss("--head-bg-color", "rgba(255, 255, 255, 0.7)"); changeCss("--line-color", "#e8e8e8"); changeCss("--content-bg-color", "#f0f2f5"); changeCss("--text-color", "rgba(0, 0, 0, 0.85)"); }};7、使用的时候只要
// 白色DarkMode(false);// 黑色DarkMode(true);
效果


总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。
相关文章
- 荒野大镖客2游戏荣誉值属性有什么作用 06-08
- 荒野大镖客2游戏营地互动有什么特点 06-08
- 荒野大镖客2约翰逊 荒野大镖客2马克约翰逊活捉攻略 06-08
- 《荒野大镖客2》第三章深骝色土库曼马怎么获取 06-08
- 《荒野大镖客2》安达卢西亚马获取方法 安达卢西亚马获取攻略 06-08
- 荒野大镖客2大型动物皮毛复制攻略:马匹与马桩的利用 06-08