我只是在玩 HTML,我想制作一个用渐变填充自身的滑块,但我发现这几乎是不可能的。我已经研究了几个小时,但似乎找不到答案。
我认为我需要 JS,但我在那里完全空白。
.slidecontainer { justify-content: center; bottom: 0px; margin-left: auto; } .slider { -webkit-appearance: none; appearance: none; border-radius: 5px; width: 100%; height: 25px; background: #d3d3d3; outline: none; opacity: 0.8; -webkit-transition: .2s; transition: opacity .2s; } .slider:hover { opacity: 1; } .slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; border-radius: 5px; width: 25px; height: 25px; background: blue; cursor: pointer; } .slider::-moz-range-thumb { width: 25px; height: 25px; background: blue; cursor: pointer; }
<div class="slidecontainer"> <input type="range" min="1" max="100" value="1" class="slider" id="myRange"> </div>
我已经尝试了上面所说的方法。我一直在尝试这个网站上的东西(https://codepen.io/kaiquenunes23/pen/LYEvegK),但我无法控制它。
我还在 StackOverflow 上阅读了多个其他线程。
试试这个
需要JS来获取拇指的当前位置。
此代码片段通过读取滑块上的位置并计算其移动的百分比来实现此目的。然后它将 CSS 变量 --pc 设置为该百分比值。
滑块有两个背景图像,第一个是拇指透明的背景图像,然后是您想要的灰色。 “在它下面”是第二个背景图像,它是您想要的任何线性渐变。
这样,当您将滑块向右移动时,线性渐变就会显示出来。