Bird
Raised Fist0
Bootsrapmarkup~5 mins

Pagination component in Bootsrap

Choose your learning style10 modes available
Introduction

Pagination helps break long lists into smaller pages. It makes content easier to read and navigate.

When showing search results that have many items.
On a blog to split posts into pages.
In an online store to show products page by page.
When displaying user comments in chunks.
To improve page loading by not showing everything at once.
Syntax
Bootsrap
<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>

Use <nav> with aria-label for accessibility.

Each page number is inside a <li> with class page-item, and links have class page-link.

Examples
This example shows the first page active and the Previous button disabled.
Bootsrap
<nav aria-label="Page navigation">
  <ul class="pagination">
    <li class="page-item disabled"><a class="page-link" href="#" tabindex="-1" aria-disabled="true">Previous</a></li>
    <li class="page-item active" aria-current="page"><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>
This example uses pagination-lg for larger page buttons.
Bootsrap
<nav aria-label="Page navigation">
  <ul class="pagination pagination-lg">
    <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>
  </ul>
</nav>
This example uses pagination-sm for smaller page buttons.
Bootsrap
<nav aria-label="Page navigation">
  <ul class="pagination pagination-sm">
    <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>
  </ul>
</nav>
Sample Program

This page shows a simple Bootstrap pagination with the first page active and the Previous button disabled. It uses semantic HTML and accessibility attributes.

Bootsrap
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Bootstrap Pagination Example</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
  <main class="container mt-5">
    <h1>Pagination Component Demo</h1>
    <p>Use the pagination below to navigate pages.</p>
    <nav aria-label="Page navigation example">
      <ul class="pagination">
        <li class="page-item disabled">
          <a class="page-link" href="#" tabindex="-1" aria-disabled="true">Previous</a>
        </li>
        <li class="page-item active" aria-current="page">
          <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>
  </main>
</body>
</html>
OutputSuccess
Important Notes

Always use aria-current="page" on the active page for screen readers.

Disable buttons like Previous or Next when they can't be used to avoid confusion.

Use Bootstrap's built-in classes for consistent styling and responsive design.

Summary

Pagination breaks content into pages for easier reading.

Bootstrap provides simple classes to create accessible pagination.

Use page-item and page-link classes inside a pagination list.

Practice

(1/5)
1. What is the main purpose of the Bootstrap pagination component?
easy
A. To create dropdown menus
B. To style buttons with different colors
C. To divide content into multiple pages for easier navigation
D. To add animations to images

Solution

  1. Step 1: Understand pagination concept

    Pagination is used to split large content into smaller pages for better user experience.
  2. Step 2: Recognize Bootstrap pagination role

    Bootstrap's pagination component helps create navigation links for these pages.
  3. Final Answer:

    To divide content into multiple pages for easier navigation -> Option C
  4. Quick Check:

    Pagination = divide content into pages [OK]
Hint: Pagination breaks content into pages for easy reading [OK]
Common Mistakes:
  • Confusing pagination with dropdown menus
  • Thinking pagination styles buttons only
  • Assuming pagination adds animations
2. Which of the following is the correct Bootstrap class to create a pagination list container?
easy
A. pagination-list
B. pagination
C. page-container
D. page-list

Solution

  1. Step 1: Identify Bootstrap pagination container class

    The main container for pagination uses the class pagination.
  2. Step 2: Verify other options

    Classes like pagination-list, page-container, and page-list are not valid Bootstrap classes.
  3. Final Answer:

    pagination -> Option B
  4. Quick Check:

    Pagination container class = pagination [OK]
Hint: Use class 'pagination' for the pagination container [OK]
Common Mistakes:
  • Using non-existent classes like pagination-list
  • Confusing container class with item classes
  • Misspelling the class name
3. Given the following Bootstrap pagination HTML, what will be the visual output in the browser?
<nav aria-label="Page navigation example">
  <ul class="pagination">
    <li class="page-item disabled"><a class="page-link" href="#" tabindex="-1">Previous</a></li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item active" aria-current="page"><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>
medium
A. A pagination bar with no active page highlighted
B. A pagination bar with all pages disabled
C. A pagination bar with 'Next' disabled and page 1 highlighted
D. A pagination bar with 'Previous' disabled, page 2 highlighted, and clickable pages 1, 3, and Next

Solution

  1. Step 1: Analyze disabled and active classes

    The Previous button has disabled class, so it is not clickable. The page 2 has active class, so it is highlighted.
  2. Step 2: Check other page items

    Pages 1, 3, and Next have no disabled class, so they are clickable links.
  3. Final Answer:

    A pagination bar with 'Previous' disabled, page 2 highlighted, and clickable pages 1, 3, and Next -> Option D
  4. Quick Check:

    Disabled = Previous, Active = 2, Others clickable [OK]
Hint: Disabled = no click, active = highlight current page [OK]
Common Mistakes:
  • Confusing disabled with active styling
  • Assuming all pages are clickable
  • Ignoring aria attributes for accessibility
4. Identify the error in this Bootstrap pagination snippet:
<ul class="pagination">
  <li class="page-item"><a class="page-link" href="#">1</a></li>
  <li class="page-link active"><a href="#">2</a></li>
  <li class="page-item"><a class="page-link" href="#">3</a></li>
</ul>
medium
A. The 'active' class is incorrectly placed on 'page-link' instead of 'page-item'
B. Missing href attribute on the anchor tags
C. The <ul> tag should have class 'page-list' instead of 'pagination'
D. The list items should not contain anchor tags

Solution

  1. Step 1: Check class placement for active page

    Bootstrap requires the active class on the page-item <li>, not on the page-link.
  2. Step 2: Verify other attributes

    All anchor tags have href attributes, the <ul> has correct class pagination, and anchors are required inside list items.
  3. Final Answer:

    The 'active' class is incorrectly placed on 'page-link' instead of 'page-item' -> Option A
  4. Quick Check:

    Active class belongs on page-item [OK]
Hint: Put 'active' on
  • , not on <a> [OK]
  • Common Mistakes:
    • Placing active class on anchor instead of list item
    • Removing href attribute from links
    • Using wrong class names on <ul>
    5. You want to create a pagination component with 5 pages, where page 3 is active, and the 'Previous' button is disabled on page 1 only. Which Bootstrap structure correctly implements this behavior?
    hard

    Solution

    1. Step 1: Check 'Previous' button disabled only on page 1

      correctly disables the 'Previous' button with disabled class on the first page.
    2. Step 2: Verify active page and order

      Page 3 is marked active with active class and aria-current="page". Pages are in correct order 1 to 5.
    3. Step 3: Confirm other buttons are enabled

      Other page items and 'Next' button are enabled and clickable.
    4. Final Answer:

      Option A correctly implements the required pagination structure -> Option A
    5. Quick Check:

      Disabled Previous on page 1, active page 3, correct order [OK]
    Hint: Disable 'Previous' only on first page, active class on current page [OK]
    Common Mistakes:
    • Disabling wrong buttons
    • Incorrect order of page numbers
    • Placing active class on wrong page or element
    Recommended

    Ready to prove it?

    Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

    10 questions~5 mineasy hard