如何使用 HTML、CSS 和 JavaScript 创建颜色拾取器?


我们可以在 Javascript 中轻松地在调色板上创建一个简单的颜色拾取器。颜色拾取器上的主要颜色是 **RGB**,即 **红、绿和蓝**。通过混合这些颜色,我们可以形成任何我们想要的颜色。

在本文中,我们将学习如何从用户那里获取 RGB 值,并使用 CSS 中的 RGB 颜色属性来形成不同的颜色。RGB 的颜色强度范围从 0 到 255,其中 0 是最低强度,255 是最高强度。

当所有 3 种颜色的强度都为 255 时,它形成白色。当所有 3 种颜色的强度都为 0 时,形成黑色。

示例 1

在下面的示例中,我们使用基本的 **HTML、CSS 和 JavaScript** 创建了一个颜色拾取器。

# index.html

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <link rel="stylesheet" href="styles.css">
   <link href="https://fonts.googleapis.com/css2?family=Itim&display=swap"rel="stylesheet">
</head>
<body>
   <h1 style="color: green;">
      Welcome To Tutorials Point
   </h1>
   <div class="neumorphism-3"></div>
   <div class="input">
      <input type="number" id="red">
      <input type="number" id="green">
      <input type="number" id="blue">
   </div>
   <script src="script.js"></script>
</body>
</html>

# styles.css

.neumorphism-3 {
   width: 320px;
   height: 300px;
   box-shadow: -3px -3px 7px #e9e9e9a9,
      3px 3px 7px #e9e9e9a9;
}
.neumorphism-3:hover {
   top: 30px;
   box-shadow: -3px -3px 7px #999999a9,
      -3px -3px 12px #e9e9e9a9,
      3px 3px 7px #999999a9,
      -3px -3px 12px #e9e9e9a9;
   animation: uplift 0.1s 1 linear;
}
.neumorphism-3:not( :hover) {
   animation: downlift 0.1s 1 linear;
   top: 40px;
}
div.input {
   top: 450px;
   left: 550px;
}
div.input input {
   height: 30px;
   width: 100px;
   font-size: 30px;
   color: seashell;
   text-align: center;
   opacity: 0.7;
   border: none;
   border-radius: 4px;
}
#red {
   margin-top: 40px;
   background-color: red;
}
#green {
   background-color: green;
}
#blue {
   background-color: blue;
}

# script.js

let red = document.getElementById('red');
let green = document.getElementById('green');
let blue = document.getElementById('blue');
let box = document.querySelector('div.neumorphism-3');
let r = 0, g = 0, b = 0;
red.addEventListener("keyup", function (event) {
   r = red.value;
   if (!r)
      r = 0;
   box.style.backgroundColor = `rgb(${r}, ${g}, ${b})`;
});
green.addEventListener("keyup", function (event) {
   g = green.value;
   if (!g)
      g = 0;
   box.style.backgroundColor = `rgb(${r}, ${g}, ${b})`;
});
blue.addEventListener("keyup", function (event) {
   b = blue.value;
   if (!b)
      b = 0;
   box.style.backgroundColor = `rgb(${r}, ${g}, ${b})`;
});

输出

在成功执行上述代码后,它将生成一个颜色拾取器。它显示了一个矩形颜色面板和三个输入框,分别用于红色、绿色和蓝色。您输入 RGB 的特定值,相应的颜色将显示在颜色面板中。

当 RGB 为 0,0,0 时

当 RGB 为 255,255,255 时

更新于: 2024-02-29

2K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告