网站首页 > 开源技术 正文
在几秒钟内为您的网站添加黑暗模式/夜间模式
Darkmode.Js 是一款开源项目,只需要添加一段代码,就可以为网站添加夜晚模式/黑暗模式/夜间模式/护眼模式,让你的网站跟上 UI 界的潮流。
这个库使用css混合混合模式,以便为您的任何网站带来黑暗模式。只需复制粘贴片段,你就会得到一个小部件来打开和关闭暗模式。您也可以在没有小部件的情况下以编程方式使用它。这个插件是轻量级的,内置于VanillaJS中。默认情况下,它还使用localstorage,因此您的上一个设置将被记住!
- 小部件自动出现
- 保存用户选择
- 如果OS首选主题为深色(如果浏览器支持首选配色方案),则自动显示暗模式
- 可以不使用小部件以编程方式使用
Wordpress插件
如果你正在使用Wordpress,你可能需要看看这些插件基于黑暗模式.js:
- https://wordpress.org/plugins/blackout-darkmode-widget/
- https://wordpress.org/plugins/darkmode/
如何使用
Darkmode.js 很容易使用,只需复制粘贴下面的代码或使用npm包。
简单方法(使用jsdeliver CDN)
只需将此代码添加到html页面:
<script src="https://cdn.jsdelivr.net/npm/darkmode-js@1.5.6/lib/darkmode-js.min.js"></script>
<script>
function addDarkmodeWidget() {
new Darkmode().showWidget();
}
window.addEventListener('load', addDarkmodeWidget);
</script>如果要使用npm就用下面的代码:
npm install darkmode-js以下是可用的选项:
const options = {
bottom: '64px', // default: '32px'
right: 'unset', // default: '32px'
left: '32px', // default: 'unset'
time: '0.5s', // default: '0.3s'
mixColor: '#fff', // default: '#fff'
backgroundColor: '#fff', // default: '#fff'
buttonColorDark: '#100f2c', // default: '#100f2c'
buttonColorLight: '#fff', // default: '#fff'
saveInCookies: false, // default: true,
label: '', // default: ''
autoMatchOsTheme: true // default: true
}
const darkmode = new Darkmode(options);
darkmode.showWidget();如果不想显示小部件并以编程方式启用/禁用Darkmode,可以使用toggle()方法。您还可以检查是否使用isActivated()方法激活了darkmode。请在下面的示例中查看它们的实际操作。
const darkmode = new Darkmode();
darkmode.toggle();
console.log(darkmode.isActivated())替代样式
- 当darkmode被激活时,一个CSS类darkmode--activated被添加到body标记中。您可以利用它替代样式并拥有自定义样式
- 在不想应用暗码的地方使用darkmode-ignore类
- 您还可以添加以下样式:isolation:isolate;在css中,这也会忽略暗码。
- 它也可以恢复黑暗模式与这种风格mix-blend-mode: difference;
.darkmode--activated p, .darkmode--activated li {
color: #000;
}
.button {
isolation: isolate;
}
.darkmode--activated .logo {
mix-blend-mode: difference;
}
<span class="darkmode-ignore"><span>如果不起作用,您可能需要添加以下代码,但这将使要重写的类无效。
.darkmode-layer, .darkmode-toggle {
z-index: 500;
}
猜你喜欢
- 2024-09-08 vue2组件系列第四十二节:NavBar 导航栏
- 2024-09-08 从零开始学Python——使用Selenium抓取动态网页数据
- 2024-09-08 黑客突破macOS的安全防御,新型恶意软件正在偷偷的窃取你的文件
- 2024-09-08 vue2组件系列第三十六节:Lazyload 图片懒加载
- 2024-09-08 Visa|实习面试|2022 暑假(visa issues)
- 2024-09-08 消息中间件RabbitMQ入门详解(消息中间件mq作用)
- 2024-09-08 vue2组件系列第二十二节:SwitchCell 开关单元格
- 2024-09-08 vue2组件系列第二十节:按钮式单选组件
- 2024-09-08 vue2组件系列第四十节:NoticeBar 通告栏
- 2024-09-08 vue2组件系列第二十六节:PasswordInput 密码输入框
欢迎 你 发表评论:
- 11-22qq空间权限破解器是真的吗(2021qq空间权限破解器安卓版)
- 11-22win10怎么隐藏桌面图标(w10怎样隐藏桌面图标)
- 11-22hp台式机怎么进入u盘启动项(hp台式机怎么设置u盘启动)
- 11-22破解别人空间访问权限(如何破解别人空间权限)
- 11-22安卓解压zarchiver免费版(安卓解压zarchiver使用教学)
- 11-22百度qq号申请注册(在百度上申请qq账号)
- 11-22dos是什么软件
- 11-22系统u盘启动盘(系统 u盘启动)
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)

本文暂时没有评论,来添加一个吧(●'◡'●)