Pagination - Pro Component
Documentation and examples for showing pagination to indicate a series of related content exists across multiple pages.
Overview
<nav aria-label="Page navigation example">
<ul class="pagination">
<li class="page-item"><a class="page-link" href="javascript:;">Previous</a></li>
<li class="page-item"><a class="page-link" href="javascript:;">1</a></li>
<li class="page-item"><a class="page-link" href="javascript:;">2</a></li>
<li class="page-item"><a class="page-link" href="javascript:;">3</a></li>
<li class="page-item"><a class="page-link" href="javascript:;">Next</a></li>
</ul>
</nav>
Disabled and active states
Pagination links are customizable for different circumstances. Use .disabled
for links that appear un-clickable and .active
to indicate the current page.
While the .disabled
class uses pointer-events: none
to try to disable the link functionality of <a>
s, that CSS property is not yet standardized and doesn’t account for keyboard navigation. As such, you should always add tabindex="-1"
on disabled links and use custom JavaScript to fully disable their functionality.
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
<a class="page-link" href="javascript:;" tabindex="-1">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="javascript:;">1</a></li>
<li class="page-item active">
<a class="page-link" href="javascript:;">2 <span class="sr-only">(current)</span></a>
</li>
<li class="page-item"><a class="page-link" href="javascript:;">3</a></li>
<li class="page-item">
<a class="page-link" href="javascript:;">Next</a>
</li>
</ul>
</nav>
You can optionally swap out active or disabled anchors for <span>
, or omit the anchor in the case of the prev/next arrows, to remove click functionality and prevent keyboard focus while retaining intended styles.
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
<span class="page-link">Previous</span>
</li>
<li class="page-item"><a class="page-link" href="javascript:;">1</a></li>
<li class="page-item active">
<span class="page-link">
2
<span class="sr-only">(current)</span>
</span>
</li>
<li class="page-item"><a class="page-link" href="javascript:;">3</a></li>
<li class="page-item">
<a class="page-link" href="javascript:;">Next</a>
</li>
</ul>
</nav>
Alignment
Change the alignment of pagination components with flexbox utilities.
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item disabled">
<a class="page-link" href="javascript:;" tabindex="-1">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="javascript:;">1</a></li>
<li class="page-item"><a class="page-link" href="javascript:;">2</a></li>
<li class="page-item"><a class="page-link" href="javascript:;">3</a></li>
<li class="page-item">
<a class="page-link" href="javascript:;">Next</a>
</li>
</ul>
</nav>
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<li class="page-item disabled">
<a class="page-link" href="javascript:;" tabindex="-1">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="javascript:;">1</a></li>
<li class="page-item"><a class="page-link" href="javascript:;">2</a></li>
<li class="page-item"><a class="page-link" href="javascript:;">3</a></li>
<li class="page-item">
<a class="page-link" href="javascript:;">Next</a>
</li>
</ul>
</nav>