Range
Bootstrap 5 Range component
A Range is an interactive component that lets the user swiftly slide through possible values spread over the desired range.
Note: Read the API tab to find all available options and advanced customization
Basic example
Create custom <input type="range">
controls with .form-range
.
The track (the background) and thumb (the value) are both styled to appear the same across
browsers. As only Firefox supports “filling” their track from the left or right of the thumb
as a means to visually indicate progress, we do not currently support it.
<label class="form-label" for="customRange1">Example range</label>
<div class="range">
<input type="range" class="form-range" id="customRange1" />
</div>
Disabled
Add the disabled
boolean attribute on an input to give it a grayed out appearance
and remove pointer events.
<label class="form-label" for="customRange1">Example range</label>
<div class="range">
<input type="range" class="form-range" id="customRange1" disabled />
</div>
Min and max
Range inputs have implicit values for min
and max
—0
and
100
, respectively. You may specify new values for those using the
min
and max
attributes.
<label class="form-label" for="customRange2">Example range</label>
<div class="range">
<input type="range" class="form-range" min="0" max="5" id="customRange2" />
</div>
Steps
By default, range inputs “snap” to integer values. To change this, you can specify a
step
value. In the example below, we double the number of steps by using
step="0.5"
.
<label for="customRange3" class="form-label">Example range</label>
<div class="range">
<input type="range" class="form-range" min="0" max="5" step="0.5" id="customRange3" />
</div>
Range - API
Usage
Via data attributes
<label class="form-label" for="customRange1">Example range</label>
<div class="range">
<input type="range" class="form-range" id="customRange1" />
</div>
Via JavaScript
const range = new mdb.Range(document.getElementById('range'));
Via jQuery
Note: By default, MDB does not include jQuery and you have to add it to the project on your own.
$(document).ready(() => {
$('.example-class').autocomplete(options);
});
Methods
Name | Description | Example |
---|---|---|
init |
Initialize a range instance | myRange.init() |
dispose
|
Disposes a range instance |
myRange.dispose()
|
getInstance
|
Static method which allows you to get the range instance associated with a DOM element. |
mdb.Range.getInstance(element)
|
getOrCreateInstance
|
Static method which returns the range instance associated to a DOM element or create a new one in case it wasn't initialized. |
mdb.Range.getOrCreateInstance(element)
|
const range = document.getElementById('range');
const rangeInstance = mdb.Range.getInstance(range);
rangeInstance.dispose();
Import
MDB UI KIT also works with module bundlers. Use the following code to import this component:
import { Range } from 'mdb-ui-kit';
CSS variables
// .range
--#{$prefix}range-thumb-height: #{$range-thumb-height};
--#{$prefix}range-thumb-width: #{$range-thumb-width};
--#{$prefix}range-thumb-top: #{$range-thumb-top};
--#{$prefix}range-thumb-margin-left: #{$range-thumb-margin-left};
--#{$prefix}range-thumb-border-radius: #{$range-thumb-border-radius};
--#{$prefix}range-thumb-transform: #{$range-thumb-transform};
--#{$prefix}range-thumb-transition: #{$range-thumb-transition};
--#{$prefix}range-thumb-value-font-size: #{$range-thumb-value-font-size};
--#{$prefix}range-thumb-value-line-height: #{$range-thumb-value-line-height};
--#{$prefix}range-thumb-value-color: #{$range-thumb-value-color};
--#{$prefix}range-thumb-value-font-weight: #{$range-thumb-value-font-weight};
--#{$prefix}range-thumb-background: #{$range-thumb-background};
SCSS variables
$range-thumb-height: 30px;
$range-thumb-width: 30px;
$range-thumb-top: -35px;
$range-thumb-background: $primary;
$range-thumb-active-background: tint-color($primary, 70%);
$range-thumb-margin-left: -15px;
$range-thumb-border-radius: 50% 50% 50% 0;
$range-thumb-transform: scale(0);
$range-thumb-transition: transform 0.2s ease-in-out;
$range-thumb-value-font-size: 12px;
$range-thumb-value-line-height: 30px;
$range-thumb-value-color: rgb(255, 255, 255);
$range-thumb-value-font-weight: 500;
// override default bootstrap values for form range
$form-range-thumb-bg: $range-thumb-background;
$form-range-thumb-active-bg: $range-thumb-active-background;