Skip to content
+

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.

5e-8
Press Enter to start editing

Custom marks

You can create custom marks by providing a rich array to the marks prop:

20
Press Enter to start editing

Always visible label

To make the thumb label always visible, toggle on the valueLabelDisplay prop.

80
Press Enter to start editing

Vertical

Set orientation="vertical" to display the vertical slider.

80
Press Enter to start editing

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.

0100

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:

2037
Press Enter to start editing

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.

3
<Slider />

CSS variables


px
px
px
px
px

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.