Bootstrap 5 Tutorial

v5.3.0

Bootstrap 5 Tutorial

Pagination Component in Bootstrap 5

Pagination: Navigation component for splitting content across multiple pages.

Basic Pagination

Simple Pagination
<!-- Basic Pagination -->
<nav aria-label="Page navigation example">
  <ul class="pagination">
    <li class="page-item">
      <a class="page-link" href="#">Previous</a>
    </li>
    <li class="page-item">
      <a class="page-link" href="#">1</a>
    </li>
    <li class="page-item">
      <a class="page-link" href="#">2</a>
    </li>
    <li class="page-item">
      <a class="page-link" href="#">3</a>
    </li>
    <li class="page-item">
      <a class="page-link" href="#">Next</a>
    </li>
  </ul>
</nav>

Active and Disabled States

Active State
active
Disabled State
disabled

Pagination Sizes

Size Variations
Small
pagination-sm
Default
pagination (default)
Large
pagination-lg

Pagination Alignment

Left Aligned
justify-content-start
Center Aligned
justify-content-center
Right Aligned
justify-content-end

Advanced Pagination Examples

Complex Pagination Patterns
With First and Last
With Ellipsis
Custom Icons

Working Example with Data

Real-World Example: Blog Posts
Showing 1-10 of 50 items
<!-- Complete pagination example -->
<div class="d-flex justify-content-between align-items-center mb-3">
  <h6 class="mb-0">Showing 1-10 of 50 items</h6>
  <div class="form-group mb-0">
    <select class="form-select form-select-sm">
      <option>10 per page</option>
      <option>25 per page</option>
      <option>50 per page</option>
    </select>
  </div>
</div>

<nav aria-label="Page navigation">
  <ul class="pagination justify-content-center">
    <li class="page-item disabled">
      <span class="page-link">Previous</span>
    </li>
    <li class="page-item active">
      <span class="page-link">1</span>
    </li>
    <li class="page-item">
      <a class="page-link" href="#">2</a>
    </li>
    <li class="page-item">
      <a class="page-link" href="#">3</a>
    </li>
    <li class="page-item disabled">
      <span class="page-link">...</span>
    </li>
    <li class="page-item">
      <a class="page-link" href="#">5</a>
    </li>
    <li class="page-item">
      <a class="page-link" href="#">Next</a>
    </li>
  </ul>
</nav>

Accessibility Features

Accessibility Best Practices
  • Use nav element for navigation regions
  • Add aria-label to describe the navigation
  • Use aria-current="page" for current page
  • Add proper labels for previous/next buttons
  • Ensure keyboard navigation works
  • Use semantic HTML structure

Best Practices

Do's
  • ✅ Keep pagination visible and accessible
  • ✅ Show current page clearly
  • ✅ Include previous/next buttons
  • ✅ Make it responsive
  • ✅ Add ellipsis for many pages
  • ✅ Include item count if possible
Don'ts
  • ❌ Don't show too many page links
  • ❌ Avoid hiding pagination on mobile
  • ❌ Don't forget accessibility labels
  • ❌ Avoid tiny click targets
  • ❌ Don't use confusing icons
  • ❌ Avoid inconsistent styling

Custom Styling Examples

Custom Colors
Rounded Style