Pagination

Use pagination to divide content and present it in a limited and digestible manner.

UsageOverview

Structure and hierarchy are important when it comes to reducing content complexity and improving readability. Use pagination to divide content and present it in a limited and digestible manner.

How to Use Anatomy

Elements
  1. Items per page label;
  2. Select items to display per page;
  3. Items showing label (optional);
  4. First-page button;
  5. Previous page button;
  6. Selected page indicator;
  7. Page count label;
  8. Next page button;
  9. Last page button;

BehaviorLoading

The loading sequence after using the pagination component to navigate to another page should follow the pattern for loading full pages or screens.

The loading sequence after using the pagination component to display items on a table or container should follow the pattern for loading content on a container.

See the progress indicator page for more on loading patterns


Order & AlignmentHierarchy

The pagination component should always be placed immediately adjacent to the content being paginated.

Position

Keep the position of the pagination consistent throughout to improve usability.


Best PracticesAccessibility Responsive Design

For screens or containers 576px wide or less, remove the Items per page control.


Related Components
Feedback

We would like to get your feedback. Tell us how you use this component in your projects and how we can improve it.

Style

HTML/CSS v2PaginationFor Pages
Behavior Specification
Feature: Pagination Background: In a listings page Given that I'm in a listing
      page Scenario: First page When I select the first page Then that button becomes
      disabled And the "previous" button becomes disabled Scenario: Last page When I
      select the last page Then that button becomes disabled And the "next" button
      becomes disabled Scenario Outline: Amount of pages Given that my listing has a
      total of
      <total>
        records And I'm on the first page When I choose
        <per-page>
          items per page Then I get a page count of
          <page-count>
            And I see the a floor-ceiling value of
            <floor-ceiling>
              Examples: | total | per-page | page-count | floor-ceiling | | 100 | 20 |
              5 | 1-20 | | 100 | 50 | 2 | 1-50 | | 100 | 100 | 1 | 1-100 | | 100 | 200
              | 1 | 1-100 |</floor-ceiling
            ></page-count
          ></per-page
        ></total
      >