重寫後的標題為:如何在HTML中製作一個帶有漸變背景的自動填入滑桿
P粉715228019
P粉715228019 2024-02-03 20:57:38
0
2
477

我只是在玩 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 上閱讀了多個其他線程。

P粉715228019
P粉715228019

全部回覆(2)
P粉541565322

試試這個

P粉541796322

需要JS來取得大拇指的目前位置。

此程式碼片段透過讀取滑桿上的位置並計算其移動的百分比來實現此目的。然後它將 CSS 變數 --pc 設定為該百分比值。

滑桿有兩個背景圖像,第一個是拇指透明的背景圖像,然後是您想要的灰色。 「在它下面」是第二個背景圖像,它是您想要的任何線性漸變。

這樣,當您將滑桿向右移動時,線性漸變就會顯示出來。

const slider = document.getElementById("myRange");
slider.addEventListener("input", update);

function update() {
  const pc = (slider.value - slider.min) / (slider.max - slider.min) * 100 + '%';
  slider.style.setProperty('--pc', pc);
}
.slidecontainer {
  justify-content: center;
  bottom: 0px;
  margin-left: auto;
}

.slider {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 5px;
  width: 100%;
  height: 25px;
  --pc: 0;
  background: linear-gradient(to right, transparent 0 var(--pc), #d3d3d3 var(--pc) 100%), linear-gradient(to right, red, green);
  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;
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板