Слайдер диапазона

Здесь вы узнаете, как сделать пользовательский слайдер диапазона при помощи CSS и JavaScript.


Попробовать самому »

Как сделать слайдер диапазона

Шаг 1) Добавляем HTML:

Пример


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

Шаг 2) Добавляем CSS:

Пример


.slidecontainer {
  width: 100%; /* Ширина внешнего контейнера */
}

/* Сам слайдер */
.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; /* Форма курсора при наведении */
}

Попробовать самому »

Шаг 3) Добавляем JavaScript:

Создаем динамический слайдер диапазона, который показывает текущее значение.

Пример


var slider = document.getElementById("myRange");
var output = document.getElementById("demo");
output.innerHTML = slider.value; // Показываем значение по умолчанию

// Обновляем текущее значение (каждый раз, когда двигается ползунок)
slider.oninput = function() {
  output.innerHTML = this.value;
}

Попробовать самому »

Слайдер с круглым ползунком

Чтобы сделать ползунок слайдера круглым, используйте свойство border-radius. Совет: Установите высоту слайдера отличной от высоты ползунка, если вы хотите получить элементы слайдера разной высоты (15px vs. 25px в этом примере):

Пример


.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 ссылку на изображение:

Пример


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

Попробовать самому »