レンジ入力(Range) v5.0.0設定変更
ブラウザのデフォルトのレンジ入力をカスタムバージョンに置き換え。
※"v5.0.0"での変更はv5.0.0-alpha版、v5.0.0-beta版での変更も含みます。
※"v5.3.0"での変更はv5.3.0-alpha版での変更も含みます。
このページの項目 v5.0.0設定変更
※v4の
.form-control-range
は廃止され、カスタム・レンジ入力(v4の .custom-range
)に一本化し、さらに .form-range
に名称変更した。
概要(Overview)v5.0.0-alpha1クラス名変更
.form-range
を使用してカスタムの <input type="range">
コントロールを作成。トラック(背景)とつまみ(値)はどちらも、ブラウザ間で同じように表示されるようにスタイル設定されている。Firefoxだけは、進行状況を視覚的に示す手段として、つまみの左右からのトラックの「埋め込み」をサポートしているため、現時点ではサポートしていない。
見本
Bootstrap5.xの設定例 緑背景が変更箇所
<div class="mb-3">
<label for="formRange1" class="form-label">レンジの実例</label>
<input type="range" class="form-range" id="formRange1">
</div>
.mb-3>label.form-label+input:range.form-range
※Bootstrap4.xの設定例 赤背景が変更箇所
カスタム・レンジ入力<div class="form-group">
<label for="formRange1">レンジの実例</label>
<input type="range" class="custom-range" id="formRange1">
</div>
【設定】
input[type="range"]
に.form-range
を入れる
【変更履歴】
- 【v5.0.0-alpha1】
.custom-range
⇒.form-range
<label>
に.form-label
を入れる
レンジの無効化(Disabled)
レンジ入力に disabled
ブール属性を追加してグレー表示にし、ポインタイベントを削除し、フォーカスを防ぐ。
見本
設定例
<label for="disabledRange" class="form-label">無効化したレンジ入力</label>
<input type="range" class="form-range" id="disabledRange" disabled>
【設定】
- 無効化したいレンジ入力(
input[type="range"].form-range
)に[disabled]
を追加
最小と最大(Min and max)
レンジ入力は、それぞれ min
と max
に 0
と 100
の暗黙の値を持つ。min
属性と max
属性を使用するユーザーには新しい値が指定できる。
見本
Bootstrap5.xの設定例 緑背景が変更箇所
<label for="formRange2" class="form-label">レンジの実例</label>
<input type="range" class="form-range" min="0" max="5" id="formRange2">
ステップ(Steps)
デフォルトでは、レンジ入力は整数値で「スナップ」する。これを変更するには、step
値を指定する。以下の例では、step="0.5"
を使用してステップ数を2倍にする。
見本
Bootstrap5.xの設定例 緑背景が変更箇所
<label for="formRange3" class="form-label">レンジの実例</label>
<input type="range" class="form-range" min="0" max="5" step="0.5" id="formRange3">
CSS v5.0.0-beta3追加、v5.3.0Sassから名称変更
Sass変数(Sass variables)v5.3.0変数から名称変更
デフォルトの設定
scss/_variables.scss 内 form-range-variables の設定$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; // 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;