範圍
使用我們自訂的範圍輸入元件,以獲得一致的跨瀏覽器樣式和內建自訂功能。
在此頁面上
概觀
使用 .form-range
建立自訂 <input type="range">
控制項。軌道(背景)和滑塊(值)都經過樣式設定,在各個瀏覽器中顯示相同。由於只有 Firefox 支援從滑塊的左側或右側「填滿」其軌道,作為視覺化進度指示,因此我們目前不支援此功能。
<label for="customRange1" class="form-label">Example range</label>
<input type="range" class="form-range" id="customRange1">
停用
在輸入元件上新增 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">
步驟
預設情況下,範圍輸入會「貼齊」整數值。若要變更此設定,你可以指定 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">
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;