Movatterモバイル変換


[0]ホーム

URL:


Framework:


Hire Us Get CoreUI PRO all-access

Bootstrap 5 Pagination

Pagination

Documentation and examples for showing pagination to indicate a series of related content exists across multiple pages.

🤖 Looking for the LLM-optimized version?View llm.md

Other frameworks

CoreUI components are available as native Angular, React, and Vue components. To learn more please visit the following pages.

On this page

Overview

We use a large block of connected links for our pagination, making links hard to miss and easily scalable—all while providing large hit areas. Pagination is built with list HTML elements so screen readers can announce the number of available links. Use a wrapping<nav> element to identify it as a navigation section to screen readers and other assistive technologies.

In addition, as pages likely have more than one such navigation section, it’s advisable to provide a descriptivearia-label for the<nav> to reflect its purpose. For example, if the pagination component is used to navigate between a set of search results, an appropriate label could bearia-label="Search results pages".

html
<navaria-label="Page navigation example"><ulclass="pagination"><liclass="page-item"><aclass="page-link"href="#">Previous</a></li><liclass="page-item"><aclass="page-link"href="#">1</a></li><liclass="page-item"><aclass="page-link"href="#">2</a></li><liclass="page-item"><aclass="page-link"href="#">3</a></li><liclass="page-item"><aclass="page-link"href="#">Next</a></li></ul></nav>

Working with icons

Looking to use an icon or symbol in place of text for some pagination links? Be sure to provide proper screen reader support witharia attributes.

html
<navaria-label="Page navigation example"><ulclass="pagination"><liclass="page-item"><aclass="page-link"href="#"aria-label="Previous"><spanaria-hidden="true">&laquo;</span></a></li><liclass="page-item"><aclass="page-link"href="#">1</a></li><liclass="page-item"><aclass="page-link"href="#">2</a></li><liclass="page-item"><aclass="page-link"href="#">3</a></li><liclass="page-item"><aclass="page-link"href="#"aria-label="Next"><spanaria-hidden="true">&raquo;</span></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 usespointer-events: none totry 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 addtabindex="-1" on disabled links and use custom JavaScript to fully disable their functionality.

html
<navaria-label="..."><ulclass="pagination"><liclass="page-item disabled"><aclass="page-link">Previous</a></li><liclass="page-item"><aclass="page-link"href="#">1</a></li><liclass="page-item active"aria-current="page"><aclass="page-link"href="#">2</a></li><liclass="page-item"><aclass="page-link"href="#">3</a></li><liclass="page-item"><aclass="page-link"href="#">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.

html
<navaria-label="..."><ulclass="pagination"><liclass="page-item disabled"><spanclass="page-link">Previous</span></li><liclass="page-item"><aclass="page-link"href="#">1</a></li><liclass="page-item active"aria-current="page"><spanclass="page-link">2</span></li><liclass="page-item"><aclass="page-link"href="#">3</a></li><liclass="page-item"><aclass="page-link"href="#">Next</a></li></ul></nav>

Sizing

Fancy larger or smaller pagination? Add.pagination-lg or.pagination-sm for additional sizes.

html
<navaria-label="..."><ulclass="pagination pagination-lg"><liclass="page-item active"aria-current="page"><spanclass="page-link">1</span></li><liclass="page-item"><aclass="page-link"href="#">2</a></li><liclass="page-item"><aclass="page-link"href="#">3</a></li></ul></nav>
html
<navaria-label="..."><ulclass="pagination pagination-sm"><liclass="page-item active"aria-current="page"><spanclass="page-link">1</span></li><liclass="page-item"><aclass="page-link"href="#">2</a></li><liclass="page-item"><aclass="page-link"href="#">3</a></li></ul></nav>

Alignment

Change the alignment of pagination components withflexbox utilities. For example, with.justify-content-center:

html
<navaria-label="Page navigation example"><ulclass="pagination justify-content-center"><liclass="page-item disabled"><aclass="page-link">Previous</a></li><liclass="page-item"><aclass="page-link"href="#">1</a></li><liclass="page-item"><aclass="page-link"href="#">2</a></li><liclass="page-item"><aclass="page-link"href="#">3</a></li><liclass="page-item"><aclass="page-link"href="#">Next</a></li></ul></nav>

Or with.justify-content-end:

html
<navaria-label="Page navigation example"><ulclass="pagination justify-content-end"><liclass="page-item disabled"><aclass="page-link">Previous</a></li><liclass="page-item"><aclass="page-link"href="#">1</a></li><liclass="page-item"><aclass="page-link"href="#">2</a></li><liclass="page-item"><aclass="page-link"href="#">3</a></li><liclass="page-item"><aclass="page-link"href="#">Next</a></li></ul></nav>

Customizing

CSS variables

Pagination now uses local CSS variables on.pagination for enhanced real-time customization. Values for the CSS variables are set via Sass, so Sass customization is still supported, too.

scss/_pagination.scss
--cui-pagination-padding-x:#{$pagination-padding-x};--cui-pagination-padding-y:#{$pagination-padding-y};@include rfs($pagination-font-size,--cui-pagination-font-size);--cui-pagination-color:#{$pagination-color};--cui-pagination-bg:#{$pagination-bg};--cui-pagination-border-width:#{$pagination-border-width};--cui-pagination-border-color:#{$pagination-border-color};--cui-pagination-border-radius:#{$pagination-border-radius};--cui-pagination-hover-color:#{$pagination-hover-color};--cui-pagination-hover-bg:#{$pagination-hover-bg};--cui-pagination-hover-border-color:#{$pagination-hover-border-color};--cui-pagination-focus-color:#{$pagination-focus-color};--cui-pagination-focus-bg:#{$pagination-focus-bg};--cui-pagination-focus-box-shadow:#{$pagination-focus-box-shadow};--cui-pagination-active-color:#{$pagination-active-color};--cui-pagination-active-bg:#{$pagination-active-bg};--cui-pagination-active-border-color:#{$pagination-active-border-color};--cui-pagination-disabled-color:#{$pagination-disabled-color};--cui-pagination-disabled-bg:#{$pagination-disabled-bg};--cui-pagination-disabled-border-color:#{$pagination-disabled-border-color};

SASS variables

scss/_variables.scss
$pagination-padding-y:.375rem;$pagination-padding-x:.75rem;$pagination-padding-y-sm:.25rem;$pagination-padding-x-sm:.5rem;$pagination-padding-y-lg:.75rem;$pagination-padding-x-lg:1.5rem;$pagination-font-size:$font-size-base;$pagination-color:var(--#{$prefix}link-color);$pagination-bg:var(--#{$prefix}body-bg);$pagination-border-radius:var(--#{$prefix}border-radius);$pagination-border-width:var(--#{$prefix}border-width);$pagination-margin-start:calc(-1*#{$pagination-border-width});// stylelint-disable-line function-disallowed-list$pagination-border-color:var(--#{$prefix}border-color);$pagination-focus-color:var(--#{$prefix}link-hover-color);$pagination-focus-bg:var(--#{$prefix}secondary-bg);$pagination-focus-box-shadow:$focus-ring-box-shadow;$pagination-focus-outline:0;$pagination-hover-color:var(--#{$prefix}link-hover-color);$pagination-hover-bg:var(--#{$prefix}tertiary-bg);$pagination-hover-border-color:var(--#{$prefix}border-color);// Todo in v6: remove this?$pagination-active-color:$component-active-color;$pagination-active-bg:$component-active-bg;$pagination-active-border-color:$component-active-bg;$pagination-disabled-color:var(--#{$prefix}secondary-color);$pagination-disabled-bg:var(--#{$prefix}secondary-bg);$pagination-disabled-border-color:var(--#{$prefix}border-color);$pagination-transition:color.15sease-in-out,background-color.15sease-in-out,border-color.15sease-in-out,box-shadow.15sease-in-out;$pagination-border-radius-sm:var(--#{$prefix}border-radius-sm);$pagination-border-radius-lg:var(--#{$prefix}border-radius-lg);

SASS mixins

scss/mixins/_pagination.scss
@mixin pagination-size($padding-y,$padding-x,$font-size,$border-radius){--#{$prefix}pagination-padding-x:#{$padding-x};--#{$prefix}pagination-padding-y:#{$padding-y};@include rfs($font-size,--#{$prefix}pagination-font-size);--#{$prefix}pagination-border-radius:#{$border-radius};}

CoreUI vs Bootstrap

While this Pagination component is fully compatible with Bootstrap and follows its core principles, CoreUI delivers a more complete solution for modern app development.

What sets CoreUI apart from Bootstrap?

  • Fully compatible with Bootstrap – Built directly on Bootstrap, all classes and behaviors work as expected.
  • 🧠Framework-native versions – CoreUI provides dedicated libraries forReact.js,Vue.js, andAngular, unlike Bootstrap which relies on third-party plugins for JavaScript frameworks.
  • 👨‍💻Maintained by a full-time team – CoreUI is developed as a professional product, not a volunteer-driven project.
  • 📦More built-in components – Includes additional ready-to-use components like range sliders, multi-selects, steppers, etc.
  • 🛠️Sass Modules support today – CoreUI already supports Sass Modules, which are planned for Bootstrap 6.
  • 🌍Better LTR/RTL support – Uses modern CSS logical properties for seamless bidirectional layout support.
  • 🔒LTS (Long-Term Support) – Bootstrap now offers LTS only via paid third parties like HeroDevs, while CoreUI continues to offer long-term support natively and for free.

Whether you’re building internal tools, dashboards, or SaaS platforms — CoreUI combines the familiarity of Bootstrap with a more powerful, scalable, and production-ready ecosystem.

👉Explore CoreUI Bootstrap Components
👉Compare CoreUI vs Bootstrap


[8]ページ先頭

©2009-2025 Movatter.jp