一键切换暗黑模式,这些代码片段你不可错过

文章目录

  • 前言
  • 正文
    • 1.多主题切换
    • 2.使用 SASS 实现轻松深色模式
    • 3.动画切换浅色与深色模式
    • 4.纯 CSS 主题切换
    • 5.GitHub 风格的深色模式切换
    • 6.持久深色模式
    • 7.基本 Vue 响应式切换
    • 8.创意灯泡切换
  • 总结


前言

如今,许多网站设计师都会为用户提供浅色和深色模式的选择。这不仅仅是为了美观,更是为了提高网页的可访问性,尤其是对视力有障碍的用户来说,深色模式更友好。让用户自由切换自己喜欢的模式,是提升用户体验的关键。


正文

1.多主题切换

这个设置面板提供了浅色、深色和黑色三种模式。切换过程平滑流畅,带来更好的用户体验。通过 HTML 单选按钮实现的切换功能,简洁美观又实用。

源码:https://codepen.io/havardob/pen/dyOJyje

在这里插入图片描述

2.使用 SASS 实现轻松深色模式

通过简单的复选框触发切换,JavaScript 添加 data-theme 属性到 HTML 标签上,SASS 根据该属性的值来实现不同样式的切换。

源码:https://codepen.io/KaioRocha/pen/MdvWmg

在这里插入图片描述

3.动画切换浅色与深色模式

此代码片段利用 SVG 图片和动画效果实现了独特的日夜模式切换。虽然视觉效果出色,但在正式上线之前,最好加强对可访问性的支持。

源码: https://codepen.io/lerida/pen/ZEbWBjp

在这里插入图片描述

4.纯 CSS 主题切换

这个例子只使用 CSS 即可实现模式切换,并且通过 HTML 表单确保了对所有用户的可访问性。

源码:https://codepen.io/michellebarker/pen/GzzrGJ

在这里插入图片描述

5.GitHub 风格的深色模式切换

这个大尺寸的切换按钮不仅会改变页面的对比模式,还会根据模式的变化调整背景颜色,非常有趣。

源码:https://codepen.io/chintuyadav/pen/yLaaVYa

在这里插入图片描述

6.持久深色模式

如果你追求简约,这款模式切换按钮就是理想选择。通过 JavaScript 将用户的选择存储在本地,保持他们的偏好不变。

源码:https://codepen.io/brianhaferkamp/pen/WNrJmZb

在这里插入图片描述

7.基本 Vue 响应式切换

随着越来越多的用户界面依赖 JavaScript,Vue 组件的实现让用户可以通过简单的复选框轻松切换模式。

源码:https://codepen.io/team/codepen/pen/MRoLdr

在这里插入图片描述

8.创意灯泡切换

这款摆动的灯泡切换设计非常具有创意,通过 CSS 动画实现了独特的深色模式转换,非常适合用于个人作品集或博客。

源码:https://codepen.io/airen/pen/dyYNPWQ

在这里插入图片描述


总结

为网站提供深浅模式切换,不仅提升美观,还改善用户体验,尤其对有视觉障碍的用户有帮助。通过 CSS 和 JavaScript,可以轻松实现这个功能。上述8个代码片段展示了如何优雅地切换模式,既美观又实用,能有效提升网站的可用性和用户满意度。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

雷军救WPS“三次”,WPS注入新生力量,不再“抄袭”微软

救WPS“三次” 1989年,求伯君用128万行代码编写出了WPS1.0,宣告了中国自主办公时代的开启。 那时候,雷军还在武汉大学深造,他早就把求伯君当成了自己的榜样,这一来二去的,雷军和WPS之间也就结下了不解之缘…

[MySQL#10] 索引底层(1) | Page | 页目录

目录 1. 初识索引 2. 认识磁盘 3. MySQL与磁盘交互基本单位 4. 索引的理解 1. 重谈Page 2. 为什么IO交互要用Page 3. 有主键的表插入数据时的排序 4. 单个Page与多个Page 4.1 单个Page 4.2 多个Page 目录 单Page目录 多Page目录 在看本文之前,可以回顾…

sklearn 实现随机森林分类器 - python 实现

python sklearn 实现随机森林分类器 from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris # 加载数据集 irisload_iris() x,yiris.data,iris.target print("x y shape:",x.shape,y.shape) # 创建并训练模型 model Random…

Altium Designer使用技巧(二)

一、创建类 1、按DC键,打开对象类。 2、右键添加一个类。命名为PWR。 3、将所有的电源类,全部添加到新创建的类中,从非成员类中点选到成员类中。 4、右下角点panes ,点PCB。 5、然后在左边单击PWR,点连接,可显示或…

<十六>Ceph mon 运维

Ceph 集群有故障了,你执行的第一个运维命令是什么? 我猜测是ceph -s 。无论执行的第一个命令是什么,都肯定是先检查Mon。 在开始之前我们有必要介绍下Paxos协议,毕竟Mon就是靠它来实现数据唯一性。 一: Paxos 协议 1…

NPOI 操作详解(操作Excel)

目录 1. 安装 NPOI 2. 使用 NPOI 创建新 Excel 文件 3. 设置列宽和行高 1. 设置列宽 2. 设置行高 3. 同时设置列宽和行高 4. 设置统一的行高 5. 设置统一的列宽 6. 应用统一的行高和列宽 4. 合并单元格 5. 设置单元格样式(字体、边框、背景色等&#xf…

多处理机调度(李昂学长视频总结)25新增考点

多处理机定义:多处理机指的是某个计算机系统中有多个cpu,在多处理机调度中,多处理机一般指的是共享存储器处理机,其两个或更多的cpu全部共享一个公用的RAM。 根据系统中的处理机相同与否,可将多处理机系统分为如下两类…

少儿编程培训市场突破500亿元:教育新蓝海的崛起与未来展望

近年来,随着科技的迅速发展和家长对教育方式的重视,少儿编程市场成为一片新的蓝海。据最新市场调研报告显示,2024年中国少儿编程培训市场规模已突破500亿元,预计未来五年将持续增长。这一趋势反映了少儿编程教育的迅速崛起&#x…

【大数据学习 | kafka】producer的参数与结构

1. producer的结构 producer:生产者 它由三个部分组成 interceptor:拦截器,能拦截到数据,处理完毕以后发送给下游,它和过滤器不同并不是丢弃数据,而是将数据处理完毕再次发送出去,这个默认是不…

【论文速读】Optimization-based Prompt Injection Attack to LLM-as-a-Judge

基于优化的提示词注入攻击 摘要引言问题描述LLM-as-a-judge威胁模型攻击者知道什么 JUDGEDECEIVER 细节概述生成影子候选回复公式化为优化问题Target-aligned generation lossTarget-enhancement lossAdversarial perplexity loss优化问题 求解优化问题 摘要 LLM-as-a-Judge 利…

人工智能证书合集

本文将对目前市面上主流官方机构颁发的人工智能证书进行整理和介绍,由于整理的证书较多,本文共一万八千多字,请根据自己的考证需求阅读对应部分的内容,希望本文对人工智能行业的从业人员和计划从事人工智能相关岗位工作的人员有所…

Java入门8——二维数组

今天的内容算是数组的收尾~~ 从下次开始就要开始学习类和对象了,冲冲冲! 首先二维数组,也很好理解,就是把几个一维数组拼在一起了,我们用代码来熟悉一下~ public class javaSchool {public static void main(String[…

自动售饮料机控制电路的设计

自动售饮料机控制电路的设计 1 设计目的 (1)熟悉数字电路的应用。 (2)掌握常常利用逻辑运算器及D触发器的逻辑功能及利用方式。 (3)熟悉电路仿真软件Multisim 利用。 (4)了解自动售饮…

高速高精运动控制解决方案亮相2024 NEPCON亚洲电子展!

■展会名称: NEPCON ASIA 2024 亚洲电子生产设备暨微电子工业展览会(以下简称“亚洲电子展”) ■展会日期 2024年11月6 -8日 ■展馆地点 中国深圳国际会展中心(宝安) ■展位号 11号馆-11A24 11月6日至8日,亚洲电子展将在中…

Flask轻松上手:从零开始搭建属于你的Web应用

目录 一、准备工作 二、安装Flask 三、创建你的第一个Flask应用 创建一个新的Python文件 编写Flask应用代码 运行Flask应用 四、创建一个简单的博客系统 定义路由和文章列表 创建模板文件 运行并测试博客系统 五、使用数据库存储用户信息 安装Flask-SQLAlchemy 修…

STM32开发 —— 新工程创建思路终于清晰了

目 录 工程创建三步法一、工程文件夹创建二、管理工程项三、配置工程参数 工程创建三步法 从ST官网下载好stm32标准库或HAL库,HAL库目录如下。 在Keil开发环境中创建STM32工程,分三大步即可完成工程的创建: 一步:在本地磁盘创建…

Java SpringBoot调用大模型AI构建AI应用

本文是一个用springboot 结合spring mvc 和spring ai alibaba 调用国产大模型通义千问的具体例子,按照这个做能够快速的搞定Java应用的调用。 然后就可以把这类应用泛化到所有的涉及到非结构化数据结构化的场景中。 Spring AI:简化Java中大模型调用的框…

【办公类-04-04】华为助手导出照片视频分类(根据图片、视频的文件名日期导入“年-月-日”文件夹中,并转移到“年-月”文件中整理、转移到“年”文件夹中整理)

背景需求 最近带班,没有时间整理照片,偶尔导一次,几个月的照片。发现用电脑版“华为手机助手“中的WLAN连接”与华为手机的“华为手机助手”连接,速度更快、更稳定,不会出现数据线连接时碰碰就断网的问题 1、先打开电…

电脑没有下载声卡驱动怎么办?电脑声卡驱动安装方法

在日常使用电脑的过程中,我们可能会遇到电脑没有声音的问题,这往往与声卡驱动缺失或损坏有关。声卡驱动是连接电脑硬件(声卡)与操作系统之间的桥梁,确保音频信号能够正常输入输出。那么,当电脑没有声卡驱动…

MYSQL死锁真实案例

​最近例行巡检时候发现一个死锁,阿里云RDS FOR MYSQL 8.0.X! 虽然阿里云的死锁页面看起来比较友好,不过跟社区版一样只是显示事务最后一条死锁SQL和相关的信息.一不小心对初级MYSQL DBA来说,深深地误导,浪费大量时间研究这两个SQL怎么发生了死锁! 阿里云RDS默认情况下审计没有…