📜  如何使用 HTML CSS 和 JavaScript 为网站制作深色模式?(1)

📅  最后修改于: 2023-12-03 15:23:51.679000             🧑  作者: Mango

如何使用 HTML CSS 和 JavaScript 为网站制作深色模式?

很多用户喜欢使用深色模式来浏览网站,它不仅能够减轻眼睛的压力,还能帮助延长电池续航时间。在本文中,我们将介绍如何使用 HTML、CSS 和 JavaScript 为网站制作深色模式。

HTML

要为网站添加深色模式,首先需要在 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 来定义深色模式的样式。在深色模式中,背景色应该更暗,文本应该更亮,而且有时会需要添加颜色主题。可以通过以下 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 来控制开关按钮。当用户单击开关按钮时,可以通过添加类名来更改整个网站的样式。可以通过以下 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 为网站制作深色模式的全部过程。

参考资料: