2015-11-26 01:01:18 +03:00
---
layout: docs
title: Pagination
group: components
---
2015-12-06 16:56:59 +03:00
[//]: # DO NOT EDIT IT WILL BE OVERWRITTEN - copy of bootstrap documentation generated by grunt docs-copy-bootstrap-docs
{% callout info %}
**Bootstrap Reference Documentation**
2015-12-23 23:12:39 +03:00
This is a part of the reference documentation from < a href = "http://getbootstrap.com" > Bootstrap< / a > .
It is included here to demonstrate rendering with Material Design for Bootstrap default styling.
2015-12-22 04:05:18 +03:00
See the < a href = "/material-design/buttons" > Material Design< / a > section for more elements and customization options.
2015-12-06 16:56:59 +03:00
{% endcallout %}
2015-11-26 01:01:18 +03:00
Provide pagination links for your site or app with the multi-page pagination component, or the simpler [pager alternative ](#pager ).
## Contents
* Will be replaced with the ToC, excluding the "Contents" header
{:toc}
## Default pagination
Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.
{% example html %}
< nav >
< ul class = "pagination" >
2015-12-10 18:02:44 +03:00
< li class = "page-item" >
< a class = "page-link" href = "#" aria-label = "Previous" >
2015-11-26 01:01:18 +03:00
< span aria-hidden = "true" > « < / span >
< span class = "sr-only" > Previous< / span >
< / a >
< / li >
2015-12-10 18:02:44 +03:00
< 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 = "#" > 4< / a > < / li >
< li class = "page-item" > < a class = "page-link" href = "#" > 5< / a > < / li >
< li class = "page-item" >
< a class = "page-link" href = "#" aria-label = "Next" >
2015-11-26 01:01:18 +03:00
< span aria-hidden = "true" > » < / span >
< span class = "sr-only" > Next< / span >
< / a >
< / li >
< / ul >
< / nav >
{% endexample %}
### Disabled and active states
Links are customizable for different circumstances. Use `.disabled` for unclickable links and `.active` to indicate the current page.
2016-01-05 23:37:17 +03:00
{% callout warning %}
#### Link functionality caveat
The `.disabled` class uses `pointer-events: none` to try to disable the link functionality of `<a>` s, but that CSS property is not yet standardized. In addition, even in browsers that do support `pointer-events: none` , keyboard navigation remains unaffected, meaning that sighted keyboard users and users of assistive technologies will still be able to activate these links. So to be safe, add a `tabindex="-1"` attribute on these links (to prevent them from receiving keyboard focus) and use custom JavaScript to disable their functionality.
{% endcallout %}
2015-11-26 01:01:18 +03:00
{% example html %}
< nav >
< ul class = "pagination" >
2015-12-10 18:02:44 +03:00
< li class = "page-item disabled" >
2016-01-05 23:37:17 +03:00
< a class = "page-link" href = "#" tabindex = "-1" aria-label = "Previous" >
2015-11-26 01:01:18 +03:00
< span aria-hidden = "true" > « < / span >
< span class = "sr-only" > Previous< / span >
< / a >
< / li >
2015-12-10 18:02:44 +03:00
< li class = "page-item active" >
< a class = "page-link" href = "#" > 1 < span class = "sr-only" > (current)< / span > < / a >
2015-11-26 01:01:18 +03:00
< / li >
2015-12-10 18:02:44 +03:00
< 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 = "#" > 4< / a > < / li >
< li class = "page-item" > < a class = "page-link" href = "#" > 5< / a > < / li >
< li class = "page-item" >
< a class = "page-link" href = "#" aria-label = "Next" >
2015-11-26 01:01:18 +03:00
< span aria-hidden = "true" > » < / span >
< span class = "sr-only" > Next< / span >
< / a >
< / li >
< / ul >
< / nav >
{% endexample %}
2016-01-05 23:37:17 +03:00
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.
2015-11-26 01:01:18 +03:00
{% example html %}
< nav >
< ul class = "pagination" >
2015-12-10 18:02:44 +03:00
< li class = "page-item disabled" >
< span class = "page-link" aria-label = "Previous" >
2015-11-26 01:01:18 +03:00
< span aria-hidden = "true" > « < / span >
< span class = "sr-only" > Previous< / span >
< / span >
< / li >
2015-12-10 18:02:44 +03:00
< li class = "page-item active" > < span class = "page-link" > 1 < span class = "sr-only" > (current)< / span > < / span > < / li >
2015-11-26 01:01:18 +03:00
< / ul >
< / nav >
{% endexample %}
### Sizing
Fancy larger or smaller pagination? Add `.pagination-lg` or `.pagination-sm` for additional sizes.
{% example html %}
< nav >
< ul class = "pagination pagination-lg" >
2015-12-10 18:02:44 +03:00
< li class = "page-item" >
< a class = "page-link" href = "#" aria-label = "Previous" >
2015-11-26 01:01:18 +03:00
< span aria-hidden = "true" > « < / span >
< span class = "sr-only" > Previous< / span >
< / a >
< / li >
2015-12-10 18:02:44 +03:00
< 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 = "#" aria-label = "Next" >
2015-11-26 01:01:18 +03:00
< span aria-hidden = "true" > » < / span >
< span class = "sr-only" > Next< / span >
< / a >
< / li >
< / ul >
< / nav >
{% endexample %}
{% example html %}
< nav >
< ul class = "pagination pagination-sm" >
2015-12-10 18:02:44 +03:00
< li class = "page-item" >
< a class = "page-link" href = "#" aria-label = "Previous" >
2015-11-26 01:01:18 +03:00
< span aria-hidden = "true" > « < / span >
< span class = "sr-only" > Previous< / span >
< / a >
< / li >
2015-12-10 18:02:44 +03:00
< 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 = "#" aria-label = "Next" >
2015-11-26 01:01:18 +03:00
< span aria-hidden = "true" > » < / span >
< span class = "sr-only" > Next< / span >
< / a >
< / li >
< / ul >
< / nav >
{% endexample %}
## Pager
Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.
### Default example
By default, the pager centers links.
{% example html %}
< nav >
< ul class = "pager" >
< li > < a href = "#" > Previous< / a > < / li >
< li > < a href = "#" > Next< / a > < / li >
< / ul >
< / nav >
{% endexample %}
### Aligned links
Alternatively, you can align each link to the sides:
{% example html %}
< nav >
< ul class = "pager" >
< li class = "pager-prev" > < a href = "#" > Older< / a > < / li >
< li class = "pager-next" > < a href = "#" > Newer< / a > < / li >
< / ul >
< / nav >
{% endexample %}
### Optional disabled state
2016-01-05 23:37:17 +03:00
Pager links also support the `.disabled` class (though note that the same advice about keyboard focus as for the default pagination applies here as well).
2015-11-26 01:01:18 +03:00
{% example html %}
< nav >
< ul class = "pager" >
2016-01-05 23:37:17 +03:00
< li class = "pager-prev disabled" > < a href = "#" tabindex = "-1" > Older< / a > < / li >
2015-11-26 01:01:18 +03:00
< li class = "pager-next" > < a href = "#" > Newer< / a > < / li >
< / ul >
< / nav >
{% endexample %}