mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-05-30 15:24:08 +03:00
320f713905
I think the 'custom' prefix for the ids in examples were mainly from Bootstrap v4 custom controls. Removing it makes it a bit shorter/neater.
61 lines
2.4 KiB
Plaintext
61 lines
2.4 KiB
Plaintext
---
|
|
title: Range
|
|
description: Use our custom range inputs for consistent cross-browser styling and built-in customization.
|
|
toc: true
|
|
---
|
|
|
|
## Overview
|
|
|
|
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.
|
|
|
|
<Example code={`<label for="range1" class="form-label">Example range</label>
|
|
<input type="range" class="form-range" id="range1">`} />
|
|
|
|
## Disabled
|
|
|
|
Add the `disabled` boolean attribute on an input to give it a grayed out appearance, remove pointer events, and prevent focusing.
|
|
|
|
<Example code={`<label for="disabledRange" class="form-label">Disabled range</label>
|
|
<input type="range" class="form-range" id="disabledRange" disabled>`} />
|
|
|
|
## 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.
|
|
|
|
<Example code={`<label for="range2" class="form-label">Example range</label>
|
|
<input type="range" class="form-range" min="0" max="5" id="range2">`} />
|
|
|
|
## 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"`.
|
|
|
|
<Example code={`<label for="range3" class="form-label">Example range</label>
|
|
<input type="range" class="form-range" min="0" max="5" step="0.5" id="range3">`} />
|
|
|
|
## Output value
|
|
|
|
The value of the range input can be shown using the `output` element and a bit of JavaScript.
|
|
|
|
<Example code={`<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 variables
|
|
|
|
<ScssDocs name="form-range-variables" file="scss/_variables.scss" />
|