📅  最后修改于: 2023-12-03 15:23:51.679000             🧑  作者: Mango
很多用户喜欢使用深色模式来浏览网站,它不仅能够减轻眼睛的压力,还能帮助延长电池续航时间。在本文中,我们将介绍如何使用 HTML、CSS 和 JavaScript 为网站制作深色模式。
要为网站添加深色模式,首先需要在 HTML 文件中添加一个开关按钮,允许用户来控制网站的模式。可以通过以下代码创建一个开关按钮:
<label class="switch" for="dark-mode-toggle">
<input type="checkbox" id="dark-mode-toggle">
<span class="slider"></span>
</label>
这些标记将创建一个带有开/关切换的复选框。定义类“switch”和样式“slider”使用 CSS 进行样式设置,根据下一步中使用的样式类名来定义样式。
接下来,使用 CSS 来定义深色模式的样式。在深色模式中,背景色应该更暗,文本应该更亮,而且有时会需要添加颜色主题。可以通过以下 CSS 样式来定义深色模式:
/* 开关 */
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
margin: 0 10px;
}
.switch input {
display: none;
}
/* 滑块 */
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before { /* 滑块前半部分 */
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider { /*滑块选中*/
background-color: #2196F3;
}
input:checked + .slider:before {
transform: translateX(26px);
}
最后,需要使用 JavaScript 来控制开关按钮。当用户单击开关按钮时,可以通过添加类名来更改整个网站的样式。可以通过以下 JavaScript 代码实现该功能:
var darkModeToggle = document.querySelector("#dark-mode-toggle");
darkModeToggle.addEventListener("click", function () {
if (darkModeToggle.checked) {
document.body.setAttribute("data-theme", "dark");
} else {
document.body.removeAttribute("data-theme");
}
});
这会使您能够为网站添加深色主题,并在必要时将其切换回默认主题。
以上就是使用 HTML、CSS 和 JavaScript 为网站制作深色模式的全部过程。
参考资料: