Slider
Slider generates a background element that can be used for various purposes.
Introduction
Sliders are ideal for interface controls that benefit from a visual representation of adjustable content, such as volume or brightness settings, or for applying image filters such as gradients or saturation.
<Slider />
Playground
Component
After installation, you can start building with this component using the following basic elements:
import Slider from '@mui/joy/Slider';
export default function MyApp() {
return <Slider defaultValue={3} max={10} />;
}
Steps
Change the default step increments by setting a desired value to the step
prop.
Make sure to adjust the shiftStep
prop (the granularity with which the slider can step when using Page Up/Down or Shift + Arrow Up/Down) to a value divadable with the step
.
Custom marks
You can create custom marks by providing a rich array to the marks
prop:
Always visible label
To make the thumb label always visible, toggle on the valueLabelDisplay
prop.
Vertical
Set orientation="vertical"
to display the vertical slider.
Keep the label at edges
Apply the following styles to ensure that the label doesn't get cut off on mobile when it hits the edge of the slider.
Range slider
To let users set the start and end of a range on a slider, provide an array of values to the value
or defaultValue
prop:
Track
The slider's track shows how much of it has been selected.
You can either invert it by assigning inverted
to the track
prop or remove it entirely by assigning a value of false
.
Inverted track
Inverted track range
Removed track
Removed track range slider
CSS variables playground
Play around with all the CSS variables available in the slider component to see how the design changes.
You can use those to customize the component on both the sx
prop and the theme.
<Slider />
CSS variables
Unstyled
Use the Base UI Slider for complete ownership of the component's design, with no Material UI or Joy UI styles to override. This unstyled version of the component is the ideal choice for heavy customization with a smaller bundle size.
API
See the documentation below for a complete reference to all of the props and classes available to the components mentioned here.