使用一行css实现黑白色主题皮肤的切换

很多网站都有切换主题的效果

比如如下所示

de3aedc85a251be875112b3c3d12cbe0.gif


示例代码

<template><div class="css-switch-theme"><el-switch@change="hanldeSwitchTheme"v-model="themValue"active-text="暗黑"inactive-text="白色"active-color="#42b983"></el-switch></div></template><script>export default {name:"setTheme",data() {return {themValue: false   }},methods: {hanldeSwitchTheme(value) {if(value) {document.querySelector('html').style = 'filter:invert(1) hue-rotate(180deg);transition:all 300ms';}else {// 白色模式console.log(value);document.querySelector('html').style = 'filter:grayscale(0);transition:all 300ms';}}}};</script><style lang="stylus" scoped>.css-switch-theme {display:flex;justify-content: center;}</style>

其核心就是下面这行代码

document.querySelector('html').style = 'filter:invert(1) hue-rotate(180deg);'

filter是一个非常神奇的属性,能将Photoshop一些基础的滤镜效果应用到网站上

使用hue-rotate这个函数结合CSS变量动态生成过渡颜色

暗黑模式使用到两个滤镜函数:inverthue-rotate

invert:反相,反向输出图像着色,值为 0%则无变化,值为0~100%则是线性乘子效果,值为100%则完全反转

hue-rotate:色相旋转,减弱图像着色,处理非黑白的颜色,值为 0deg则无变化,值为0~360deg则逐渐减弱,值超过360deg则相当绕N圈再计算剩余的值

invert简单理解就是黑变白,白变黑,黑白颠倒。hue-rotate简单理解就是冲淡颜色。为了确保主题色调不会改变,将色相旋转声明为180deg比较合理

村民私自搭桥收费被判刑

2023-07-10

e7e237fc743ddc2895610304f1adb169.jpeg

聊一下大学几年如何渡过

2023-07-09

3ee5eea62c3dec5c61e6ee8742d5cda3.jpeg

聊一下计算机程序员转行情感博主

2023-07-08

46aebc0fc2e4f331c79f47bcd03af973.jpeg

聊一聊抑郁症

2023-07-07

0486e15275df52f8da902217bf006937.jpeg

PHP中的变量

2023-07-04

c3b87306d8a09da634a90b1b5e6add5c.jpeg

了解PHP-入门-环境搭建-集成环境安装

2023-07-03

800da2e5fc131656942d66fc7fe37129.jpeg

43e1c27ec7e1abd975ea155af796f1fb.png

(能AI问答,能绘画)

b1b1d42518d5234ff57aeca9486ba21a.png

118dad86cb669488e2ea915683b0151a.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/47480.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

stm32 使用CubeIDE 移植RTX5

STM32 使用st的官方开发环境 cubeide &#xff08;eclipse gcc&#xff09;移植 cmsis rtos2 RTX5 实时操作系统 这套环境的主要优势是免费。cubeide免费使用。RTX5 免商业版税&#xff08;已从原keil中剥离出来&#xff0c;现在完全开源免费&#xff09;。 一&#xff0c;环…

vue 项目优化

去除冗余的css 消除框架中未使用的CSS,初步达到按需引入的效果 使用背景&#xff1a;vue2.x, webpack3.x 使用插件&#xff1a;purifycss-webpack 安装&#xff1a; npm i purifycss-webpack purify-css glob-all -D安装后各个插件的版本&#xff1a; “glob-all”: “^3.3.…

单片机第一季:零基础8——蜂鸣器

蜂鸣器是一种一体化结构的电子讯响器&#xff0c;采用直流电压供电&#xff0c;广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 想要压电式蜂鸣器发声&…

2核4G服务器腾讯云或阿里云能安装几个网站?性能如何?

2核4G服务器能安装多少个网站&#xff1f;2核4g配置能承载多少个网站&#xff1f;一台2核4G服务器可以安装多少个网站&#xff1f;阿腾云2核4G5M带宽服务器目前安装了14个网站&#xff0c;从技术角度是没有限制的&#xff0c;只要云服务器性能够用&#xff0c;想安装几个网站就…

关于AWS MSK Connector Execution Role的解释

尽管在创建AWS MSK Connector时&#xff0c;Execution Role是一个必填项&#xff0c;就像下面这样&#xff1a; 并且在官方文档中给出的Execution Role样例&#xff1a; https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-service-execution-role.html 中也…

【hadoop】在linux上设置Hadoop的环境变量

设置Hadoop的环境变量 解压压缩包编辑环境变量激活环境变量 解压压缩包 使用下面命令对hadoop的压缩包进行解压 tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/编辑环境变量 在linux中&#xff0c;~/.bash_profile文件是设置环境变量的文件&#xff0c;我们使用vi进行编辑。…

RFC959 文件传输协议(FTP)翻译

发布时间&#xff1a;2023-07-12 21:14:54 文章目录 前言本备忘录的状态1. Introduction2. Overview2.1 历史2.2 术语2.3 The FTP Model 3. Data Transfer Functions3.1 Data Representation And Storage3.1.1 DATA TYPES3.1.1.1 ASCII TYPE3.1.1.2 EBCDIC TYPE3.1.1.3 IMAGE T…

SPEC CPU 2006 在 CentOS 5.0 x86_64 古老系统测试【4】-O3 不支持 编译失败

gcc -O3 编译失败 结论&#xff1a;默认情况下SPEC CPU 2006 1.2 不支持 gcc -O3编译参数。

【5G PHY】5G 调制与编码策略(MCS)介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

自定义程序包不存在的解决方法

方案一&#xff1a; 在pom文件中加入以下代码 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.4.2</version><configuration><skipTests>true</sk…

回归预测 | MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于B…

Django 分布式路由

简介&#xff1a; Django中&#xff0c;主路由配置文件(urls.py)可以不处理用户具体路由&#xff0c;主路由的配置文件可以配置成做请求的分发&#xff08;分布式请求处理&#xff0c;分发到子路由而不是具体的视图函数&#xff09;。具体的请求可以由各自的应用来处理。 步骤…

重启Oracle数据库

root 用户登录服务器。 1、 以oracle身份登录数据库&#xff0c;命令&#xff1a;su - oracle 2、 进入Sqlplus控制台&#xff0c;命令&#xff1a;sqlplus /nolog 3、 以系统管理员登录&#xff0c;命令&#xff1a;connect / as sysdba可以合并为&#xff1a;sqlplus sys/密码…

vite性能优化提升开发体验之hmr和预编译

一、vite中的预编译 1. 预编译概念介绍 Vite&#xff0c;一个由Vue.js开发者尤雨溪开发的新型前端构建工具&#xff0c;主要利用了现代浏览器支持的ESM&#xff08;ES模块&#xff09;来进行快速开发。Vite在法语中意为“快”&#xff0c;其中最大的亮点就是其开发服务器启动…

使用qemu创建ubuntu-base文件系统,并安装PM相关内核模块

目录 一、配置镜像二、使用qemu模拟nvdimm&#xff08;安装PM相关内核模块&#xff09;运行记录 遇到的一些问题1、ext4文件系统损坏问题&#xff1a;系统启动时&#xff0c;遇到ext4的报错信息解决办法&#xff1a;2、内核模块未成功加载3、qemu报错4、主机终端无法正常打开 流…

flask实现get和post请求

1、实现get请求 在项目根目录创建app.py 代码如下&#xff1a; from flask import Flask,render_template,requestapp Flask(__name__)app.route("/regist/user/", methods[GET]) def regist():return render_template("regist.html") #默认去templat…

【基本绘图注释函数】——MatLab画图

目录索引 title&#xff1a;ylable&#xff1a;legend&#xff1a; title&#xff1a; 在绘图中添加标签。此类函数的输入是一个字符串。MATLAB 中的字符串是用双引号 (") 引起来的。 上面一部分画图代码这里省略 title("Sample Mass")ylable&#xff1a; 为y轴…

03插值与拟合

9.已知飞机下轮廓线上数据如下&#xff0c;分别用分段线性插值和三次样条插值求x每改变0.1时的y值。 x035791112131415y01.21.72.02.12.01.81.21.01.6 %9.已知飞机下轮廓线上数据如下&#xff0c;分别用分段线性插值和三次样条插值求每改变0.1时的y值。x [0 3 5 7 9 11 12 1…

Dreamweaver批量替换所有超链接替换成#

需求&#xff1a;想要将页面所有链接地址替换为#。 方法一 CTRLF打开“查找和替换”&#xff0c;勾选“使用正则表达式” 查找 href"([\s\S]*?)" 替换为 href"#" 副作用&#xff1a;样式表链接地址也会被替换为#&#xff0c;需提前备份。 方法二 也可以查…

【Hello mysql】 mysql的索引

Mysql专栏&#xff1a;Mysql 本篇博客简介&#xff1a;介绍mysql的索引 mysql索引 索引索引是什么索引的分类索引作用查看 磁盘mysql的工作过程认识磁盘定位扇区磁盘随机访问(Random Access)与连续访问(Sequential Access)mysql和磁盘交互的基本单位 索引的理解建立测试表为何I…