网页暗黑模式js插件 Darkmode.Js

作者:猫可喵 发布时间: 2019-11-20 文章热度: 200 本文共2484个字,预计阅读时间需要7分钟。

网页暗黑模式js插件 Darkmode.Js插图

该库使用CSS mix-blend-mode来将暗模式带入您的任何网站。只需复制粘贴代码段,您将获得一个小部件以打开和关闭暗模式。您也可以不使用窗口小部件而以编程方式使用它。该插件是轻量级的,内置于​​VanillaJS中。默认情况下,它也使用localstorage,因此您的上一次设置将被记住!

我受到这篇文章的启发:https://dev.to/wgao19/night-mode-with-mix-blend-mode-difference-23lm

特征

  • 窗口小部件自动显示
  • 保存用户选择
  • 如果操作系统偏好的主题为深色,则自动显示Darkmode(如果浏览器支持prefers-color-scheme)
  • 可以以编程方式使用而无需小部件

示范

在这些网站上查看演示(右下角有一个按钮,只需按一下即可!):

  • 在这个网站上
  • https://tradivegan.com(带有自定义标签)
  • https://what.toeat.in(无自定义标签)
  • https://www.kanbanote.com(无窗口小部件,一旦登录)
  • https://www.sandoche.com(带有自定义标签)

WordPress插件

如果您使用的是Wordpress,则可能需要看看基于Darkmode.js的这些插件:

  • https://wordpress.org/plugins/blackout-darkmode-widget/
  • https://wordpress.org/plugins/darkmode/

使用方法

Darkmode.js非常易于使用,只需复制粘贴以下代码或使用npm包即可。

way简单方法(使用JSDelivr CDN)

只需将此代码添加到您的html页面:

  1. <script src=“https://cdn.jsdelivr.net/npm/[email protected]/lib/darkmode-js.min.js”></script>
  2. <script>
  3. new Darkmode().showWidget();
  4. </script>

使用NPM

  1. npm install darkmodejs

然后添加以下javascript代码:

  1. import Darkmode from ‘darkmode-js’;
  2. new Darkmode().showWidget();

Options️选项

以下是可用的选项:

  1. var options = {
  2. bottom: ’64px’, // default: ’32px’
  3. right: ‘unset’, // default: ’32px’
  4. left: ’32px’, // default: ‘unset’
  5. time: ‘0.5s’, // default: ‘0.3s’
  6. mixColor: ‘#fff’, // default: ‘#fff’
  7. backgroundColor: ‘#fff’, // default: ‘#fff’
  8. buttonColorDark: ‘#100f2c’, // default: ‘#100f2c’
  9. buttonColorLight: ‘#fff’, // default: ‘#fff’
  10. saveInCookies: false, // default: true,
  11. label: ‘?’, // default: ”
  12. autoMatchOsTheme: true // default: true
  13. }
  14.  
  15. const darkmode = new Darkmode(options);
  16. darkmode.showWidget();

方法

如果您不想显示小部件并以编程方式启用/禁用暗模式,则可以使用方法toggle()。您还可以检查是否通过方法激活了暗模式isActivated()。在下面的示例中看到它们的实际效果。

  1. const darkmode = new Darkmode();
  2. darkmode.toggle();
  3. console.log(darkmode.isActivated()) // will return true

覆盖样式

  • darkmode--activated激活暗模式后,会将CSS类添加到body标签。您可以利用它来覆盖样式并具有自定义样式
  • 使用类darkmode-ignore,你不希望应用darkmode
  • 您还可以添加此样式:isolation: isolate;在CSS中,这也将忽略darkmode。
  • 也可以使用这种样式还原暗模式 mix-blend-mode: difference;

例子

  1. .darkmodeactivated p, .darkmodeactivated li {
  2. color: #000;
  3. }
  4.  
  5. .button {
  6. isolation: isolate;
  7. }
  8.  
  9. .darkmodeactivated .logo {
  10. mixblendmode: difference;
  11. }
  1. <span class=“darkmode-ignore”>?<span>

除错

如果它不起作用,则可能必须添加以下代码,但这将使要覆盖的类无效。

  1. .darkmodelayer, .darkmodetoggle {
  2. zindex: 500;
  3. }

浏览器兼容性

该库使用CSS mix-blend-mode: difference;来提供暗模式。它可能与所有浏览器都不兼容。因此,该小部件已隐藏在Internet Explorer和Edge中。prefers-color-scheme: dark如果操作系统偏好的主题是黑暗的,该库还用于自动启用黑暗模式。

在此处检查兼容性:

  • https://caniuse.com/#search=mix-blend-mode
  • https://caniuse.com/#search=prefers-color-scheme(自动激活暗模式)

发展历程

yarn buildnpm run build-在该lib文件夹下生成您的图书馆的生产版本
yarn devnpm run dev-生成库的开发版本并运行观察程序
yarn test或npm run test-运行测试the
yarn test:watchnpm run test:watch-与上述相同,但处于观看模式

来自:https://darkmodejs.learn.uno/

免责声明

0、网站资源均通过网络等合法渠道获取,该资料仅作为学习交流,其版权归出版社或者原作者所有,本网站不对所涉及的版权问题负责。网站售卖的价格绝对不是商品价格,而是整理资料的成本,如原作者认为侵权,请联系我们,我们立即删除文章,谢谢!
本站保证原原本本的完整性下载原始文件,并不保证资料的准确性,可靠性,对此产生的问题不做任何解释

1、博主在此发文(包括但不限于汉字、拼音、拉丁字母)均为随意敲击键盘所出,用于检验本人电脑键盘录入、屏幕显示的机械、光电性能,并不代表本人局部或全部同意、支持或者反对观点。如需要详查请直接与键盘生产厂商法人代表联系。挖井挑水无水表,不会网购无快递。

2、网站资源均通过网络等合法渠道获取,该资料仅作为学习交流,其版权归出版社或者原作者所有,下载后请于24小时内删除,如有真实需要请支持正版!因下载本站任何资源造成的损失,全部责任由使用者本人承担!本网站不对所涉及的版权问题负责。网站售卖的价格绝对不是商品价格,而是整理资料的成本。

3、如果你是版权方,认为本文内容对您的权益有所侵犯,请联系博主,并参照 侵删联系 的说明提交相应的证明材料,待博主进行严格地审查和背景调查后,情况属实的将在三天内将本文删除或修正。

4、博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。

5、博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章,请原谅博主成为一个无耻的文档搬运工!

6、博主只是一名普通的互联网从业者,不懂修电脑,不会卖电脑,不会帮你盗号,不会破解开机密码,找不回你丢失的手机等,如有这样的想法请绕道!

7、另外还有部分家里有矿的用户就希望我帮他服务,对于这种有钱人变态的需求,我一般都不会拒绝的。

8、本站虚拟货币充值或数字资源购买后,均不可以任何理由退换!购买前(请慎重考虑)

9、附注:根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。

10、数字千年版权法案(DMCA)
琼鲸网网站接受受版权保护的内容DMCA侵权通知。


琼鲸网络 » 网页暗黑模式js插件 Darkmode.Js

常见问题FAQ

免费下载或者SVIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 SVIP介绍。
充值&SVIP会员需知

SVIP会员请遵守以下规则:

1.凡是来转载倒卖资源的会员请不要加入SVIP否则你会得不偿失!一经查出不退余额!
2.SVIP会员仅限注册人一人使用,若本站发现共享SVIP会员行为,将立即停用对应账号的SVIP会员权限。。
3.SVIP会员和充值属于虚拟服务,付款后不能够申请退款。如付钱前有任何疑问,联系站长处理
4.SVIP资源仅限SVIP会员下载学习使用,不能够通过其他网站分享资源,若本站发现分享SVIP资源到其他网站,将立即停用对应账号的SVIP会员权限。

问:免费下载或者SVIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。

问:购买了SVIP会员服务后,能否申请退款?
在购买SVIP会员前,请阁下充分考虑清楚。一旦成功开通SVIP会员资格后,均不能以任何理由申请退款,请知悉。

问:为什么付款了未开通SVIP会员?
我们已经与支付宝和微信实现了支付对接,付款未能正常开通SVIP会员,可能是由于支付数据回传失败导致。若您已经确定支付但未开通SVIP,点击这里,提交人工审核开通SVIP会员。

问:SVIP会员剩余时间查询?
您可以登录琼鲸网络网站,访问会员中心查看SVIP到期时间。

问:网站货币充值后是否可退?
网站货币是虚拟货币只能在本站使用购买SVIP或资源,一旦充值均不能以任何理由申请退款,(请慎重充值)

问:购买资源是否可退换?
数字资源具有可复制黏贴功能一旦购买均不能以任何理由申请退换(购买前请慎重考虑)

提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
网站所有素材99%都是采用百度网盘、天翼云盘、蓝奏云网盘存储
购买前请确定您可以正常打开所采用的网盘链接(如百度网盘)再进行充值!如因区域限制或自身软硬件设备等原因而打不开或下载不了,本站概不负责。百度云的速度,请自行测试,由于不可控的原因,本站不对百度云产生的下载慢做任何解释。总之不能使用百度网盘的地区,请自己想办法解决!。

发表评论

306+

用户总数

760+

资源总数

0+

24小时内更新

2019年11月20日

最后更新时间