ScrollArea
Custom scrollbar implementation with virtual scrolling, horizontal/vertical modes, and smooth scrolling
ScrollArea
Custom scrollbars with smooth scrolling and variants. Use for scrollable lists, galleries, code blocks and app layouts.
Basic vertical scroll
Wrap content with ScrollArea to add a custom vertical scrollbar with consistent styling.
Scrollable list (vertical)
Horizontal scroll
Use orientation="horizontal" for carousels and strips of content like cards, media or tags.
Scrollable gallery (horizontal)
Both directions
Combine vertical and horizontal scrollbars for large canvases or tables.
Grid content (both axes)
Root / viewport composition
Use ScrollAreaRoot, ScrollAreaViewport, ScrollBar and ScrollAreaCorner to build fully custom scroll layouts.
Manual composition with bars
File browser layout
Create scrollable file lists with icons, metadata and nested folders.
Scrollable file list
Media gallery & cards
Design horizontally scrolling media galleries with cards and previews.
Media strip
Variant showcase
Use variant to align scrollbars and track styling with your theme.
Semantic variants
Usage Guidelines
When to Use
- Custom scrollbars
- Dropdowns
- Sidebars
Accessibility
- Keyboard scrolling works
- Scroll position not announced
Performance
- Native scroll with overlay scrollbar
- Minimal JavaScript
Common Mistakes
- ScrollArea for main content
- Hiding scrollbar completely
Frequently Asked Questions
Related Components
View allAffix element to viewport with configurable offset and boundary constraints
Comprehensive charting system with 10 chart types (Line, Bar, Area, Pie, Radar, RadialBar, Scatter, Composed, Funnel, Treemap), responsive design, and data transformations
Animated collapsible content with controlled expansion, smooth transitions, and accessibility
Resizable panel system with drag handles, min/max constraints, and layout persistence