範囲
一貫したクロスブラウザースタイリングと組み込みのカスタマイズのために、カスタム範囲入力を使用します。
このページの内容
概要
.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"
を使用してステップ数を 2 倍にしています。
<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;