Pagination

Documentation and examples for showing pagination to indicate a series of related content exists across multiple pages.

Default Pagination

We use a large block of connected links for our pagination, making links hard to miss and easily scalable—all while providing large hit areas. Pagination is built with list HTML elements so screen readers can announce the number of available links. Use a wrapping <Pagination> component to identify it as a navigation section to screen readers and other assistive technologies.

<Pagination>
<Pagination.Prev>Previous</Pagination.Prev>
<Pagination.Item>{1}</Pagination.Item>
<Pagination.Item>{2}</Pagination.Item>
<Pagination.Item>{3}</Pagination.Item>
<Pagination.Next>Next</Pagination.Next>
</Pagination>

Working with icons

Looking to use an icon or symbol in place of text for some pagination links? Use <Pagination.First>, <Pagination.Prev> , <Pagination.Next> and <Pagination.Last> tags .

<Pagination>
<Pagination.First><ChevronsLeft size="18px" /></Pagination.First>
<Pagination.Prev><ChevronLeft size="18px" /></Pagination.Prev>
<Pagination.Item>{1}</Pagination.Item>
<Pagination.Item>{2}</Pagination.Item>
<Pagination.Item>{3}</Pagination.Item>
<Pagination.Next><ChevronRight size="18px" /></Pagination.Next>
<Pagination.Last><ChevronsRight size="18px" /></Pagination.Last>
</Pagination>

Disabled and active states

Pagination links are customizable for different circumstances. Use disabled prop for links that appear un-clickable and active prop to indicate the current page.

<Pagination>
<Pagination.Prev disabled>Previous</Pagination.Prev>
<Pagination.Item>{1}</Pagination.Item>
<Pagination.Item active>{2}</Pagination.Item>
<Pagination.Item>{3}</Pagination.Item>
<Pagination.Next>Next</Pagination.Next>
</Pagination>

Sizing

Fancy larger or smaller pagination? Add size="lg" or size="sm" for additional sizes.

  • 1(current)
  • 2
  • 3
<Pagination size="lg">
<Pagination.Item active>{1}</Pagination.Item>
<Pagination.Item >{2}</Pagination.Item>
<Pagination.Item>{3}</Pagination.Item>
</Pagination>
  • 1(current)
  • 2
  • 3
<Pagination size="sm">
<Pagination.Item active>{1}</Pagination.Item>
<Pagination.Item >{2}</Pagination.Item>
<Pagination.Item>{3}</Pagination.Item>
</Pagination>

Alignment

Change the alignment of pagination components with flexbox utilities.

Centered-aligned with .justify-content-center:

<Pagination className="justify-content-center">
<Pagination.Prev disabled>Previous</Pagination.Prev>
<Pagination.Item>{1}</Pagination.Item>
<Pagination.Item>{2}</Pagination.Item>
<Pagination.Item>{3}</Pagination.Item>
<Pagination.Next>Next</Pagination.Next>
</Pagination>

Right-aligned with .justify-content-end:

<Pagination className="justify-content-end">
<Pagination.Prev disabled>Previous</Pagination.Prev>
<Pagination.Item>{1}</Pagination.Item>
<Pagination.Item>{2}</Pagination.Item>
<Pagination.Item>{3}</Pagination.Item>
<Pagination.Next>Next</Pagination.Next>
</Pagination>