首页 > 其他分享 >前端主题色的切换

前端主题色的切换

时间:2024-07-05 14:02:22浏览次数:21  
标签:bgc 自定义 -- 前端 主题 html 切换 data css

        我在项目中想有2套主题,点击即切换风格,就是一套暗黑主题、一套白色主题,该怎么实现呢?

        我的解决方案是:在根标签html上绑定自定义属性data-v-css,根据他的值去切换主题的样式

//自定义标签 data-v-css 设定white为白色主题,black为暗黑主题
<html data-v-css="white"></html>

全局引入css文件,也就是区分主题的css变量

html[data-v-css="white"] {
  --bgc:#fff;
}

html[data-v-css="black"] {
  --bgc:#000;
}

使用方式就相当于使用css的变量

        当html标签上的自定义属性是white时,var(--bgc)就是#fff

        当html标签上的自定义属性是black时,var(--bgc)就是#000

 #app {
    background: var(--bgc);
 }

最后就是如何切换主题了,其实很简单,只需要获取html标签直接该自定义属性的值就可以啦~

const html = document.querySelector('html');
html.setAttribute('data-v-css', '想要的值 white或者black就可以切换啦~');

标签:bgc,自定义,--,前端,主题,html,切换,data,css
From: https://blog.csdn.net/weixin_67886674/article/details/140206424

相关文章

  • windows安装以及切换使用nodejs多版本
    1安装nvmnvm是一个简单的bash脚本,它是用来管理系统中多个已存的Node.js版本。可以先把系统已有的node卸载掉,也可不卸载,但是以防没必要的冲突,尽量还是卸掉。1.1下载nvm下载地址:https://github.com/coreybutler/nvm-windows/releases,下载.zip后缀的这个文件,下载后解压安装即可......
  • Oracle数据库的日志切换策略
    Oracle数据库的日志切换策略是确保数据库稳定运行和事务连续性的关键机制之一。以下是对Oracle日志切换策略的详细解析1、自动日志切换1.1、重做日志切换:Oracle数据库使用重做日志文件(RedoLogFiles)来保证实例恢复。当当前的重做日志文件写满时,Oracle会自动进行日志切换......
  • Bug记录|vivia主题|Hexo+GitHub搭建个人博客
    1.将本地SSH添加到远程github 中,之后关联远程或push出现以下错误:fatal:Notagitrepository(oranyoftheparentdirectories):.git解决方案:执行 gitinit。gitinit2.hexog无法成功运行,出现以下错误:TypeError:C:\Users\Maxence\Desktop\项目\MyBlog\Hexo......
  • 前端学习-flutter学习-002-计数器示例学习
    学习参考链接拆解代码学习Material是一种标准的移动端和web端的视觉设计语言,Flutter默认提供了一套丰富的Material风格的UI组件。//导入了MaterialUI组件库。import'package:flutter/material.dart';main函数为应用程序的入口。main函数中调用了runApp方法......
  • Joplin主题样式及markdown渲染样式更改
    前言Joplin是一款极佳的笔记软件,拥有开源、免费、可自定义程度高等多种优点,但其默认的软件主题和Markdown渲染样式实在是过于朴素简陋,使人提不起创作的欲望。好在Joplin拥有极强的可自定义功能和强大的社区,使我们能够组合设计出自己喜爱的Joplin主题样式。接下来是本人日常使用......
  • 跟我一起学习和开发动态表单系统-前端用vue、elementui实现方法(3)
    基于Vue、ElementUI和SpringBoot+MyBatis的动态表单系统前端实现解析在现代企业信息系统中,动态表单是一种非常常见的功能。它可以根据业务需求灵活地调整表单结构,以满足不同的数据收集和展示需求。在本文中,我们将探讨一种基于Vue、ElementUI和SpringBoot+MyBatis......
  • 前端页面自动渲染AE动画方案
    登录页面设计师做了很酷炫的动画效果,想到的三种实现方式:1、导出GIF图给前端渲染2、导出视频给前端渲染3、导出动画的每一帧图片给前端序列合成动画后来这三种方式因显示效果不好,体积大或者实现复杂等原因被否定了。调研经调研发现Lottie是可应用于Android,iOS,Web和......
  • 前端项目部署之pushstate-server
    pushstate-server 内部的原理是通过 connect 服务器,开启一个端口,将 dist/index.html 文件作为静态模板输出这种方式可以将本地的项目打包成静态文件,以服务的方式提供出去,方便后端人员调用,而自己也不影响dev的开发安装npminstallpushstate-server--save 基......
  • 前端-vue工程化-Pinia的使用
    先来看一下我们的文件夹吧:大多数vue3前端项目中都会有这样一个文件夹是用来存放全局变量的地方,用来做状态管理。我们项目中使用的状态管理工具其实就是Pinia,当然不是我推荐大家用的,这个有迹可循,因为Pinia是在Vue官网上被推荐的一种方式。下面截几张官网上的图片:然后给......
  • VCL界面组件DevExpress VCL v24.1 - 发布全新的矢量主题
    DevExpressVCL是DevExpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序。DevExpressVCLv24.1已于日前正式发布,新版本官......