Cách tạo: Thanh trượt

Học cách sử dụng CSS và JavaScript để tạo thanh trượt tùy chỉnh.

Mặc định:

Hình vuông:

Điểm tròn:

Hình ảnh:

Giá trị:

Thử ngay

Tạo thanh trượt

Bước 1 - Thêm HTML:

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

Bước 2 - Thêm CSS:

.slidecontainer {
  width: 100%; /* Độ rộng của khung ngoài */
{}
/* Cần gạt chính nó */
.slider {
  -webkit-appearance: none;  /* Che ngập CSS mẫu mặc định */
  appearance: none;
  width: 100%; /* Độ rộng toàn bộ */
  height: 25px; /* Độ cao xác định */
  background: #d3d3d3; /* Màu xám nền */
  outline: none; /* Loại bỏ đường viền */
  opacity: 0.7; /* Đặt độ mờ (sử dụng cho hiệu ứng khi chuột trỏ) */
  -webkit-transition: .2s; /* Hiệu ứng chuyển đổi 0.2 giây */
  transition: opacity .2s;
{}
/* Hiệu ứng khi chuột trỏ */
.slider:hover {
  opacity: 1; /* Hiển thị hoàn toàn khi chuột trỏ */
{}
/* Cần gạt nắm (sử dụng -webkit- (Chrome, Opera, Safari, Edge) và -moz- (Firefox) để che ngập ngoại hình mặc định) */
.slider::-webkit-slider-thumb {
  -webkit-appearance: none; /* Che ngập ngoại hình mặc định */
  appearance: none;
  width: 25px; /* đặt chiều rộng ngón tay trượt đặc định */
  height: 25px; /* chiều cao ngón tay trượt */
  background: #04AA6D; /* nền xanh */
  cursor: pointer; /* con trỏ chuột khi悬停 */
{}
.slider::-moz-range-thumb {
  width: 25px; /* đặt chiều rộng ngón tay trượt đặc định */
  height: 25px; /* chiều cao ngón tay trượt */
  background: #04AA6D; /* nền xanh */
  cursor: pointer; /* con trỏ chuột khi悬停 */
{}

Thử ngay

Bước 3 - Thêm JavaScript:

Tạo thanh trượt phạm vi động bằng JavaScript để hiển thị giá trị hiện tại:

var slider = document.getElementById("myRange");
var output = document.getElementById("demo");
output.innerHTML = slider.value; // Hiển thị giá trị thanh trượt mặc định
// Cập nhật giá trị thanh trượt hiện tại (mỗi lần kéo ngón tay trượt)
slider.oninput = function() {
  output.innerHTML = this.value;
{}

Thử ngay

thanh trượt hình tròn

Để tạo thanh trượt hình tròn, hãy sử dụng border-radius thuộc tính.

Lưu ý:Nếu bạn muốn chiều cao không đều (ví dụ: 15 pixel và 25 pixel), hãy đặt chiều cao thanh trượt khác với giá trị của ngón tay trượt:

thực thể

.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;
{}

Thử ngay

biểu tượng/ hình ảnh thanh trượt

Để tạo thanh trượt với biểu tượng/hình ảnh, hãy sử dụng background thuộc tính và chèn URL hình ảnh:

thực thể

.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;
{}

Thử ngay