Skip to main content Skip to docs navigation

范围选择(Range)

使用我们的自定义范围输入,可实现一致的跨浏览器样式和内置自定义功能。

On this page

概述

使用 .form-range 创建自定义的 <input type="range"> 控件。轨道(背景)和缩略图(值)的样式在不同浏览器中都是一样的。由于只有 Firefox 支持从拇指的左侧或右侧 “填充"轨道,以直观地显示进度,因此我们目前不支持该功能。

html
<label for="customRange1" class="form-label">Example range</label>
<input type="range" class="form-range" id="customRange1">

禁用

input 上添加 disabled 布尔运算属性,使其呈现灰色外观、移除指针事件并防止聚焦。

html
<label for="disabledRange" class="form-label">Disabled range</label>
<input type="range" class="form-range" id="disabledRange" disabled>

最大最小值

范围输入的 minmax-0100 分别为隐含值。您可以使用 minmax 属性指定新值。

html
<label for="customRange2" class="form-label">Example range</label>
<input type="range" class="form-range" min="0" max="5" id="customRange2">

步幅

默认情况下,范围输入会 “捕捉"到整数值。要改变这种情况,可以指定一个 step 值。在下面的示例中,我们使用 step="0.5" 将步数增加一倍。

html
<label for="customRange3" class="form-label">Example range</label>
<input type="range" class="form-range" min="0" max="5" step="0.5" id="customRange3">

CSS

Sass 变量

$form-range-track-width:          100%;
$form-range-track-height:         .5rem;
$form-range-track-cursor:         pointer;
$form-range-track-bg:             var(--#{$prefix}secondary-bg);
$form-range-track-border-radius:  1rem;
$form-range-track-box-shadow:     var(--#{$prefix}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:             var(--#{$prefix}secondary-color);
$form-range-thumb-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;