The scrollbar-width
property allows the author to set the maximum thickness of an elementβs scrollbars when they are shown.
Initial value | auto |
---|---|
Applies to | scrolling boxes |
Inherited | no |
Computed value | as specified |
Animation type | discrete |
Syntax
/* Keyword values */ scrollbar-width: auto; scrollbar-width: thin; scrollbar-width: none; /* Global values */ scrollbar-width: inherit; scrollbar-width: initial; scrollbar-width: unset;
Values
- <scrollbar-width>
- Defines the width of the scrollbar as a keyword. It must be one of the following values:
auto
The default scrollbar width for the platform. thin
A thin scrollbar width variant on platforms that provide that option, or a thinner scrollbar than the default platform scrollbar width. none
No scrollbar shown, however the element will still be scrollable. Note: User Agents must apply any
scrollbar-width
value set on the root element to the viewport.
Accessibility concerns
Use this property with caution — setting scrollbar-width
to thin
or none
can make content hard or impossible to scroll if the author does not provide an alternative scrolling mechanism. While swiping gestures or mouse wheels can enable scrolling on such content, some devices have no scroll alternative.
WCAG criterion 2.1.1 (Keyboard) has been in place for a long time to advise on basic keyboard accessibility, and this should include scrolling of content areas. And introduced in WCAG 2.1, criterion 2.5.5 (Target Size) advises that touch targets should be at least 44px in width and height (although the problem is compounded on high-resolution screens; thorough testing is advised).
- MDN Understanding WCAG, Guideline 2.1 explanations
- MDN Understanding WCAG, Guideline 2.5 explanations
- Understanding Success Criterion 2.1.1 | W3C Understanding WCAG 2.1
- Understanding Success Criterion 2.5.5 | W3C Understanding WCAG 2.1
Formal definition
Initial value | auto |
---|---|
Applies to | scrolling boxes |
Inherited | no |
Computed value | as specified |
Animation type | discrete |
Formal syntax
auto | thin | none
Examples
Sizing overflow scrollbars
CSS
.scroller { width: 300px; height: 100px; overflow-y: scroll; scrollbar-width: thin; }
HTML
<div class="scroller">Veggies es bonus vobis, proinde vos postulo essum magis kohlrabi welsh onion daikon amaranth tatsoi tomatillo melon azuki bean garlic. Gumbo beet greens corn soko endive gumbo gourd. Parsley shallot courgette tatsoi pea sprouts fava bean collard greens dandelion okra wakame tomato. Dandelion cucumber earthnut pea peanut soko zucchini.</div>
Result
Specifications
Specification | Status | Comment |
---|---|---|
CSS Scrollbars Level 1 The definition of 'scrollbar-width' in that specification. |
Working Draft | Initial Definition |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
scrollbar-width | Chrome No support No | Edge No support No | Firefox
Full support
64
| IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android
Full support
64
| Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
Legend
- Full support
- Full support
- No support
- No support
- User must explicitly enable this feature.
- User must explicitly enable this feature.