我只是在玩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上的多个其他线程。
2条答案
按热度按时间92dk7w1h1#
您需要JS来获取拇指的当前位置。
这段代码通过读取滑块上的位置并计算它移动的百分比来实现,然后将CSS变量--pc设置为该百分比值。
滑块有两个背景图像,第一个是透明到拇指的,然后是你想要的灰色。"在它下面"是第二个背景图像,它是你想要的线性渐变。
通过这种方式,当您向右移动滑块时,线性渐变将显示出来。
bmp9r5qi2#
试试这个