如何創建:范圍滑塊

學習如何使用 CSS 和 JavaScript 創建自定義范圍滑塊。

默認:

方塊:

圓點:

圖像:

值:

親自試一試

創建范圍滑塊

第一步 - 添加 HTML:

<div class="slidecontainer">
  <input type="range" min="1" max="100" value="50" class="slider" id="myRange">
</div>

第二步 - 添加 CSS:

.slidecontainer {
  width: 100%; /* 外部容器的寬度 */
}
/* The slider itself */
.slider {
  -webkit-appearance: none;  /* 覆蓋默認 CSS 樣式 */
  appearance: none;
  width: 100%; /* 全寬 */
  height: 25px; /* 指定的高度 */
  background: #d3d3d3; /* 灰色背景 */
  outline: none; /* 移除輪廓 */
  opacity: 0.7; /* 設置透明度(用于鼠標懸停時的鼠標懸停效果) */
  -webkit-transition: .2s; /* 0.2秒的過渡效果 */
  transition: opacity .2s;
}
/* 鼠標懸停效果 */
.slider:hover {
  opacity: 1; /* 鼠標懸停時完全顯示 */
}
/* 滑塊手柄(使用 -webkit-(Chrome、Opera、Safari、Edge)和 -moz-(Firefox)來覆蓋默認外觀) */
.slider::-webkit-slider-thumb {
  -webkit-appearance: none; /* 覆蓋默認外觀 */
  appearance: none;
  width: 25px; /* 設置特定的滑塊手柄寬度 */
  height: 25px; /* 滑塊手柄高度 */
  background: #04AA6D; /* 綠色背景 */
  cursor: pointer; /* 鼠標懸停時的光標 */
}
.slider::-moz-range-thumb {
  width: 25px; /* 設置特定的滑塊手柄寬度 */
  height: 25px; /* 滑塊手柄高度 */
  background: #04AA6D; /* 綠色背景 */
  cursor: pointer; /* 鼠標懸停時的光標 */
}

親自試一試

第三步 - 添加 JavaScript:

使用 JavaScript 創建動態范圍滑塊來顯示當前值:

var slider = document.getElementById("myRange");
var output = document.getElementById("demo");
output.innerHTML = slider.value; // 顯示默認的滑塊值
// 更新當前的滑塊值(每次拖動滑塊手柄時)
slider.oninput = function() {
  output.innerHTML = this.value;
}

親自試一試

圓形滑塊

要創建圓形滑塊手柄,請使用 border-radius 屬性。

提示:如果您想要不等的高度(本例中為 15 像素與 25 像素),請將滑塊的高度設置為與滑塊拇指不同的值:

實例

.slider {
  -webkit-appearance: none;
  width: 100%;
  height: 15px;
  border-radius: 5px;  
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
}
.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border-radius: 50%; 
  background: #04AA6D;
  cursor: pointer;
}
.slider::-moz-range-thumb {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #04AA6D;
  cursor: pointer;
}

親自試一試

滑塊圖標/圖像

要創建一個帶有圖標/圖片的滑塊手柄,請使用 background 屬性并插入圖片 URL:

實例

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 23px;
  height: 24px;
  border: 0;
  background: url('contrasticon.png');
  cursor: pointer;
}
.slider::-moz-range-thumb {
  width: 23px;
  height: 25px;
  border: 0;
  background: url('contrasticon.png');
  cursor: pointer;
}

親自試一試