如何使用 CSS 滑块创建暗黑主题?


近年来,暗黑主题越来越受欢迎,因为它们可以减少眼睛疲劳,并使人们能够更长时间地观看显示屏。本文将讨论 CSS 滑块功能,以创建暗黑主题。

CSS 滑块(通常称为范围滑块)是一种常见的用户界面组件,它允许用户通过沿着轨道滑动滑块手柄来在一个范围内选择一个值。它们常用于设置面板和在线表单中。

语法

<input type="range" min="number" max="number" value="number" class="slider">

类型 - 输入类型,例如按钮、复选框或范围

最小值 - 最小范围

最大值 - 滑块的最大范围

值 - 滑块的总数值

类 - 为滑块容器指定的类

示例

在这里,我们将创建一个滑块,用于将网页的主题从浅色更改为暗色。此滑块将帮助您将页面主题更改为从浅色到暗色的不同色调。我们将使用一些 CSS 属性来设置滑块轨道、手柄和背景的样式,从而创建一个暗黑主题滑块。除此之外,我们将创建 JavaScript 代码,以根据滑块的值更新页面的背景颜色。

算法

步骤 1: 创建一个包含滑块和页面内容的容器。此容器将是一个包含滑块所有内容的 div。

步骤 2: 插入滑块部分的标签和其他输入。

步骤 3: 添加页面样式以设置页面内容为浅色背景。

步骤 4: 现在设置 css 以设置滑块页面内容、手柄和背景的样式,使其具有暗色。

步骤 5: 为滑块添加一个事件监听器,这将帮助用户更新页面的背景颜色。

步骤 6: 包含 JavaScript 代码,以根据滑块的值设置页面的背景颜色。

在这里,我们将使用 div 元素来包装滑块和页面内容。

<!DOCTYPE html>
<html>
<head>
  <title>Dark Theme Slider</title>
  <style>
     /* Define variable values for the dark theme */
     :root {
        --bg-color: #212121;
        --text-color: #fff;
     }

     /* Default light theme styles */
     body {
        background-color: #fff;
        color: #212121;
     }

     /* Dark theme styles */
    .dark-theme {
       background-color: var(--bg-color);
       color: var(--text-color);
    }

    .slider-container {
     margin-top: 20px;
  
    }

   </style>
</head>
<body>
  <h1>Tutorials Point Slider</h1>
  <!-- div for slider this is the basic container -->
  <div class="slider-container">
    <label for="dark-slider">Switch To Darkness:</label>
    <input type="range" id="dark-slider"  min="0" max="100" value="50">
  </div>
  <p>Add page content here...</p>
  
   <script>
  const slider = document.getElementById("dark-slider");
const body = document.querySelector("body");

slider.addEventListener("input", function() {
  const value = slider.value;
  
  // Calculate new color values based on slider value
  const bgValue = 255 - (value * 2.55);
  const textValue = value * 2.55;
  
  // Set new variable values for the dark theme
  document.documentElement.style.setProperty('--bg-color', `rgb(${bgValue}, ${bgValue}, ${bgValue})`);
  document.documentElement.style.setProperty('--text-color', `rgb(${textValue}, ${textValue}, ${textValue})`);
  
  // Add or remove dark theme class based on slider value
  if (value >= 50) {
    body.classList.add("dark-theme");
  } else {
    body.classList.remove("dark-theme");
  }
});

  </script>
</body>
</html>

结论

使用 CSS 创建暗黑主题滑块是一个相当简单的过程,它涉及使用 CSS 属性自定义滑块手柄、背景和轨道,并使用 JavaScript 更改页面的背景颜色。您可以使用本文中描述的技术,快速为您的网站或应用程序开发一个暗黑主题滑块。这有助于减少视力模糊,并使人们更容易长时间阅读显示器上的内容。随着暗黑主题越来越流行,实现暗黑主题滑块可能是您用户界面工具箱中一个有用的功能。

更新于: 2023年8月9日

449 次查看

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.