天涯论坛

 找回密码
 立即注册
搜索
查看: 81|回复: 1

HTML 5 深色模式适配 (prefers-color-scheme)

[复制链接]

2996

主题

182

回帖

9920万

积分

论坛元老

Rank: 8Rank: 8

积分
99209276
发表于 2024-6-30 03:52:15 | 显示全部楼层 |阅读模式

原文于2020年5月31日首发在我的博客,你能够点击这儿进行查看。以下为正文。

越来越多的系统 (iOS, macOS) 对深色模式进行了支持,各样 app 在 App Store 的政策压力下对深色模式进行了适配。这一系统级的功能,能够咱们利用来将网页适配深色模式。

实现

为了实现 HTML5 的深色模式,咱们必须利用 prefers-color-scheme 媒介特性。它能够帮忙检测设备的深色模式开启状况不外,这一办法不可完美处理所有状况,你还必须重视下面这一点。

日前,若结果为 no-preference,经过媒介特性获知宿主系统是不是支持设置主题色,用户是不是主动将其设置为偏好。出于隐私守护等方面的思虑,用户或用户代理可能在有些状况下在浏览器内部将其设置为 no-preference。——prefers-color-scheme – CSS(层叠样式表) | MDN

兼容状况

Can I Use

中,咱们能够认识到 prefers-color-scheme 的兼容性是十分给力的。

CSS 适配

prefers-color-scheme 的适配方式有两种:CSS 适配和 JavaScript 适配。在这儿仅介绍 CSS 适配方式。

咱们能够直接运用 @media(prefers-color-scheme: dark) 进行适配操作。

为了更好地理解,我简单写了一个适配 prefers-color-scheme 的页面,你能够这儿进行查看。

这个页面对深色模式做了以下更改。

html {bac公斤round: #111;}body {bac公斤round-color: #272727; color: #fff;}a {color: #50a8d8}

Demo

@media (prefers-color-scheme: dark) { body { bac公斤round: #222; color: #eee; } }

以上这段 CSS 是一个非常简单的Demo。它会在深色模式下更改页面的 bac公斤round 和 color。当然,这么简单的修改针对某些网站来讲其实已然足够了(例如:你不会百度吗)。

总结

这篇文案仅仅是阐述 prefers-color-scheme CSS 的简单适配办法倘若你想深入认识举荐你看一下以下这几篇文案

prefers-color-scheme – CSS: Cascading Style Sheets | MDN为你的网页添加深色模式 – 疯狂的技术宅 – SegmentFault 思否prefers-color-scheme: Hello darkness, my old friend




上一篇:超全html5应用源码素材网站整理
下一篇:HTML5期末大作业:海美食网站设计——上海美食(8页) 酒水网页设计作业,甜品美食网页制作作业, 学生零食网页作业
回复

使用道具 举报

1

主题

1014

回帖

-3

积分

限制会员

积分
-3
发表于 2024-8-31 02:53:31 | 显示全部楼层
可以发布外链的网站 http://www.fok120.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-22 21:07 , Processed in 0.114439 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.