pagination component
Drop-in semantic component. See examples, sizes, variants, and source.
Page navigation built from a pagination container with
page-btn children plus optional
prev / next /
first / last /
ellipsis elements. Style modifiers
(circular, grouped,
bordered, compact) and color modifiers
layer on top. Wire up dynamic page-change behavior through
pagination.js.
Basic Pagination
Basic Pagination
With First and Last Buttons
With Ellipsis for Many Pages
...
With Page Information
Page 2 of 16
Style Variants
Circular Buttons
Grouped Style
Bordered Container
Compact (Mobile-Friendly)
Inputs and Selectors
With Direct Page Input
of 20
With Items Per Page Selector
items per page
Size Variants
Size Variants
Color Variants
Color Variants
States
Disabled States
Loading State
Advanced Examples
Advanced Example with All Features
Showing 11-20 of 245 results
...
...
Responsive Pagination
2 / 16
...
Class API Reference
| Type | Class | Usage | Notes |
|---|---|---|---|
| Base | pagination |
Inline-flex container for the page buttons | Always required |
page-btn |
Individual page button (number or icon) | Mark current page with active |
|
ellipsis |
Non-interactive "..." gap between page ranges | Use a span |
|
| Sizes | xs |
24px tall — tiny | Modifier on pagination |
sm |
28px tall — small | Modifier on pagination |
|
| (default) | 32px tall — medium | No size class needed | |
xl |
36px tall — large | Modifier on pagination |
|
lg |
40px tall — big | Modifier on pagination |
|
| Style Variants | circular |
Round buttons (full radius) | Modifier on pagination |
grouped |
Buttons share borders to form one segmented unit | Modifier on pagination |
|
bordered |
Wraps the whole row in a bordered card | Modifier on pagination |
|
compact |
Tighter sizing for mobile / dense layouts | Modifier on pagination |
|
with-info |
Larger gap to separate .page-info from buttons |
Modifier on pagination |
|
with-input |
Spacing for an inline jump-to-page input | Pair with .page-input-wrapper |
|
| Color Modifiers | primary |
Blue active + hover tint | Modifier on pagination |
positive |
Green active + hover tint | Modifier on pagination |
|
negative |
Red active + hover tint | Modifier on pagination |
|
warning |
Yellow active + hover tint | Modifier on pagination |
|
info |
Light blue active state | Modifier on pagination |
|
purple |
Purple active + hover tint | Modifier on pagination |
|
teal |
Teal active + hover tint | Modifier on pagination |
|
pink |
Pink active + hover tint | Modifier on pagination |
|
| Button Modifiers | active |
Marks current page (filled background) | Modifier on page-btn |
prev / next |
Navigation arrows | Modifier on page-btn |
|
first / last |
Jump-to-end navigation arrows | Modifier on page-btn |
|
disabled |
HTML attribute — dim and lock the button | Attribute, not a class | |
loading |
Disables interaction; pair buttons with .loading-spinner |
Modifier on pagination |
|
responsive |
Centers a stripped-down mobile variant | Modifier on pagination |
|
| Layout / Wrapper | page-info |
Inline page-X-of-Y label | Sibling of .page-btn elements |
page-input-wrapper + page-input |
Jump-to-page numeric input | Pair with .page-total |
|
items-per-page + per-page-select |
Page-size dropdown row | Stacks under pagination on mobile | |
pagination-wrapper |
Holds pagination + items-per-page side by side | Stacks vertically on small screens | |
pagination-container |
Three-column layout: info, pagination, items-per-page | Stacks vertically on small screens | |
loading-spinner |
Animated spinner for in-flight buttons | Place inside a page-btn |