范围输入控件(Range)
使用我们的自定义范围输入控件来实现一致的跨浏览器样式和内置自定义。
内容提要
概览
使用 .form-range
创建自定义 <input type="range">
控件。 轨道(背景)和拇指(值)的样式都在浏览器中显示相同。 由于只有 Firefox 支持从拇指的左侧或右侧“填充”其轨迹以直观地指示进度,因此我们目前不支持它。
<label for="customRange1" class="form-label">Example range</label>
<input type="range" class="form-range" id="customRange1">
禁用(Disabled)
在 input 元素上添加 disabled
布尔属性,使其呈现灰色外观并删除鼠标事件。
<label for="disabledRange" class="form-label">Disabled range</label>
<input type="range" class="form-range" id="disabledRange" disabled>
最小值和最大值
范围输入控件具有 min
和 max
属性,它们的隐含值——分别为 0
和 100
。 您可以使用 min
和 max
为它们指定新值。
<label for="customRange2" class="form-label">Example range</label>
<input type="range" class="form-range" min="0" max="5" id="customRange2">
步长(Steps)
默认情况下,范围输入控件“捕捉”到整数值。 要更改此设置,您可以指定 step
值。 在下面的示例中,我们使用 step="0.5"
将步数加倍。
<label for="customRange3" class="form-label">Example range</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;