Bagaimana untuk membuat: tangankemampuan penyerapan

Belajar bagaimana untuk membuat tangankemampuan penyerapan yang disesuaikan menggunakan CSS dan JavaScript.

Baku:

Blok:

Titik:

Gambar:

Nilai:

Try It Yourself

Buat tangankemampuan penyerapan

Kesadaran pertama - Tambahkan HTML:

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

Kesadaran kedua - Tambahkan CSS:

.slidecontainer {
  width: 100%; /* Lebar wadah eksternal */
}
/* Tangankemampuan penyerapan sendiri */
.slider {
  -webkit-appearance: none;  /* Menututup gaya CSS baku */
  appearance: none;
  width: 100%; /* Lebar penuh */
  height: 25px; /* Tinggi yang ditentukan */
  background: #d3d3d3; /* Latar belakang abu-abu */
  outline: none; /* Menghapus garis pengecoran */
  opacity: 0.7; /* Menetapkan kecerahan (digunakan untuk efek kursor mouse saat menempatkan kursor mouse) */
  -webkit-transition: .2s; /* Efek transisi selama 0.2 detik */
  transition: opacity .2s;
}
/* Efect kursor mouse */
.slider:hover {
  opacity: 1; /* Menampilkan penuh saat menempatkan kursor mouse */
}
/* Tangankemampuan penyerapan (menggunakan -webkit- (Chrome, Opera, Safari, Edge) dan -moz- (Firefox) untuk menututup tampilan baku) */
.slider::-webkit-slider-thumb {
  -webkit-appearance: none; /* Menututup tampilan baku */
  appearance: none;
  width: 25px; /* 设置特定的滑块手柄宽度 */
  height: 25px; /* 滑块手柄高度 */
  background: #04AA6D; /* 绿色背景 */
  cursor: pointer; /* 鼠标悬停时的光标 */
}
.slider::-moz-range-thumb {
  width: 25px; /* 设置特定的滑块手柄宽度 */
  height: 25px; /* 滑块手柄高度 */
  background: #04AA6D; /* 绿色背景 */
  cursor: pointer; /* 鼠标悬停时的光标 */
}

Try It Yourself

第三步 - 添加 JavaScript:

使用 JavaScript 创建动态范围滑块来显示当前值:

var slider = document.getElementById("myRange");
var output = document.getElementById("demo");
output.innerHTML = slider.value; // 显示默认的滑块值
// 更新当前的滑块值(每次拖动滑块手柄时)
slider.oninput = function() {
  output.innerHTML = this.value;
}

Try It Yourself

圆形滑块

要创建圆形滑块手柄,请使用 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;
}

Try It Yourself

滑块图标/图像

要创建一个带有图标/图片的滑块手柄,请使用 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;
}

Try It Yourself