Pagination helps break long lists into smaller pages. It makes content easier to read and navigate.
Pagination component in 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.
<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>
pagination-lg for larger page buttons.<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>
pagination-sm for smaller page buttons.<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>
This page shows a simple Bootstrap pagination with the first page active and the Previous button disabled. It uses semantic HTML and accessibility attributes.
<!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>
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.
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
pagination component?Solution
Step 1: Understand pagination concept
Pagination is used to split large content into smaller pages for better user experience.Step 2: Recognize Bootstrap pagination role
Bootstrap's pagination component helps create navigation links for these pages.Final Answer:
To divide content into multiple pages for easier navigation -> Option CQuick Check:
Pagination = divide content into pages [OK]
- Confusing pagination with dropdown menus
- Thinking pagination styles buttons only
- Assuming pagination adds animations
Solution
Step 1: Identify Bootstrap pagination container class
The main container for pagination uses the classpagination.Step 2: Verify other options
Classes likepagination-list,page-container, andpage-listare not valid Bootstrap classes.Final Answer:
pagination -> Option BQuick Check:
Pagination container class = pagination [OK]
- Using non-existent classes like pagination-list
- Confusing container class with item classes
- Misspelling the class name
<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>Solution
Step 1: Analyze disabled and active classes
ThePreviousbutton hasdisabledclass, so it is not clickable. The page 2 hasactiveclass, so it is highlighted.Step 2: Check other page items
Pages 1, 3, andNexthave no disabled class, so they are clickable links.Final Answer:
A pagination bar with 'Previous' disabled, page 2 highlighted, and clickable pages 1, 3, and Next -> Option DQuick Check:
Disabled = Previous, Active = 2, Others clickable [OK]
- Confusing disabled with active styling
- Assuming all pages are clickable
- Ignoring aria attributes for accessibility
<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>
Solution
Step 1: Check class placement for active page
Bootstrap requires theactiveclass on thepage-item<li>, not on thepage-link.Step 2: Verify other attributes
All anchor tags have href attributes, the <ul> has correct classpagination, and anchors are required inside list items.Final Answer:
The 'active' class is incorrectly placed on 'page-link' instead of 'page-item' -> Option AQuick Check:
Active class belongs on page-item [OK]
- Placing active class on anchor instead of list item
- Removing href attribute from links
- Using wrong class names on <ul>
Solution
Step 1: Check 'Previous' button disabled only on page 1
correctly disables the 'Previous' button withdisabledclass on the first page.Step 2: Verify active page and order
Page 3 is marked active withactiveclass andaria-current="page". Pages are in correct order 1 to 5.Step 3: Confirm other buttons are enabled
Other page items and 'Next' button are enabled and clickable.Final Answer:
Option A correctly implements the required pagination structure -> Option AQuick Check:
Disabled Previous on page 1, active page 3, correct order [OK]
- Disabling wrong buttons
- Incorrect order of page numbers
- Placing active class on wrong page or element
Ready to prove it?
Pass the test and this pattern moves unknown
