Dashboard
Admin layout
Themable scrollbar overlay with consistent appearance across browsers, falling back to native scrolling on touch devices.
When inner content is wider than the viewport, a horizontal scrollbar appears at the bottom edge.
When content overflows on both axes, both scrollbars appear and the corner gap is painted so the tracks do not overlap.
type controls when the custom scrollbar is visible: hover (default) shows it on pointer enter and during scroll, scroll shows it only while scrolling, always keeps it permanently visible, and auto mirrors native behavior.
type="hover"
type="scroll"
type="always"
type="auto"
scroll_hide_delay sets how long the scrollbar lingers after the last scroll event (milliseconds). Only meaningful for hover and scroll. Scroll the two panels and notice how long the bar stays after each flick.
scroll_hide_delay={300}
Snappy
scroll_hide_delay={2000}
Lingering
scrollbar_class resizes or recolors the track; thumb_class targets the thumb. The thumb's along-scroll size is computed at runtime from the content ratio and cannot be set through classes.
Default
Branded
The root carries data-overflow-y-start and data-overflow-y-end while content is hidden behind the top or bottom edge. Pair them with ::before / ::after gradients for a clean mask.
Wrap a navlist in a flex-fill scroll area so the workspace header and footer stay pinned while the items scroll.
Constrain a modal body with scroll_area so a long form, terms text, or settings panel scrolls inside the dialog without pushing the chrome offscreen.
Last updated May 8, 2026
Horizontal scroll inside a card section. Pair with type="scroll" so the bar appears only while flicking through.
Wrap a wide data table to keep the layout from blowing out the page while preserving the column widths a dense table needs.