Диапазон
Используйте стилизованые возможности ввода диапазона данных для одинакового отображения во всех браузерах.
Общие сведения
Создайте пользовательские элементы управления <input type="range">
с помощью .form-range
. Дорожка (фон) и ползунок (значение) имеют одинаковый стиль во всех браузерах. Поскольку только Edge Legacy и Firefox поддерживают «заполнение» своего трека слева или справа от большого пальца как средство визуального обозначения прогресса, мы в настоящее время не поддерживаем его.
<label for="customRange1" class="form-label">Пример диапазона</label>
<input type="range" class="form-range" id="customRange1">
Отключенный
Добавьте логический атрибут disabled
к полю ввода, чтобы он выглядел серым, и удалил события указателя.
<label for="disabledRange" class="form-label">Отключенный диапазон</label>
<input type="range" class="form-range" id="disabledRange" disabled>
Минимальные и максимальные значения
Входные данные диапазона имеют неявные значения для min
и max
—0
и 100
соответственно. Вы можете указать новые значения для тех, кто использует атрибуты min
и max
.
<label for="customRange2" class="form-label">Пример диапазона</label>
<input type="range" class="form-range" min="0" max="5" id="customRange2">
Шаги
По умолчанию входные данные диапазона «привязываются» к целочисленным значениям. Чтобы изменить это, Вы можете указать значение step
. В приведенном ниже примере мы удваиваем количество шагов, используя step="0.5"
.
<label for="customRange3" class="form-label">Пример диапазона</label>
<input type="range" class="form-range" min="0" max="5" step="0.5" id="customRange3">
Sass
Переменные
$form-range-track-width: 100%;
$form-range-track-height: .5rem;
$form-range-track-cursor: pointer;
$form-range-track-bg: $gray-300;
$form-range-track-border-radius: 1rem;
$form-range-track-box-shadow: $box-shadow-inset;
$form-range-thumb-width: 1rem;
$form-range-thumb-height: $form-range-thumb-width;
$form-range-thumb-bg: $component-active-bg;
$form-range-thumb-border: 0;
$form-range-thumb-border-radius: 1rem;
$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1);
$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow;
$form-range-thumb-focus-box-shadow-width: $input-focus-width; // For focus box shadow issue in Edge
$form-range-thumb-active-bg: tint-color($component-active-bg, 70%);
$form-range-thumb-disabled-bg: $gray-500;
$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;