Bootstrap V5.3 中文手册

Range 范围滑块

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

概述

使用 创建自定义控件。轨道(背景)和拇指(值)的样式都设置为在浏览器中显示相同。由于只有 Firefox 支持从拇指的左侧或右侧“填充”其轨迹,作为直观指示进度的一种方式,因此我们目前不支持它。<input type="range">.form-range

[HTML全文]
<label for="range1" class="form-label">Example range</label>
<input type="range" class="form-range" id="range1">

禁用

在输入上添加布尔属性,使其显示为灰色,删除指针事件,并防止聚焦。disabled

[HTML全文]
<label for="disabledRange" class="form-label">Disabled range</label>
<input type="range" class="form-range" id="disabledRange" disabled>

最小值和最大值

范围输入分别具有 和 — 和 的隐式值。您可以为 使用 和 属性的值指定新值。minmax0100minmax

[HTML全文]
<label for="range2" class="form-label">Example range</label>
<input type="range" class="form-range" min="0" max="5" id="range2">

步骤

默认情况下,范围输入“捕捉”到整数值。要更改此值,您可以指定一个值。在下面的示例中,我们使用 将步数加倍。stepstep="0.5"

[HTML全文]
<label for="range3" class="form-label">Example range</label>
<input type="range" class="form-range" min="0" max="5" step="0.5" id="range3">

产值

可以使用元素和一些 JavaScript 来显示范围输入的值。output

[HTML全文]
<label for="range4" class="form-label">Example range</label>
<input type="range" class="form-range" min="0" max="100" value="50" id="range4">
<output for="range4" id="rangeValue" aria-hidden="true"></output>

<script>
  // This is an example script, please modify as needed
  const rangeInput = document.getElementById('range4');
  const rangeOutput = document.getElementById('rangeValue');

  // Set initial value
  rangeOutput.textContent = rangeInput.value;

  rangeInput.addEventListener('input', function() {
    rangeOutput.textContent = this.value;
  });
</script>

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;