| <div class="bs-docs-section"> |
| <h1 id="pagination" class="page-header">Pagination</h1> |
| |
| <p class="lead">Provide pagination links for your site or app with the multi-page pagination component, or the simpler <a href="#pagination-pager">pager alternative</a>.</p> |
| |
| <h2 id="pagination-default">Default pagination</h2> |
| <p>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.</p> |
| <div class="bs-example" data-example-id="simple-pagination"> |
| <nav aria-label="Page navigation"> |
| <ul class="pagination"> |
| <li> |
| <a href="#" aria-label="Previous"> |
| <span aria-hidden="true">«</span> |
| </a> |
| </li> |
| <li><a href="#">1</a></li> |
| <li><a href="#">2</a></li> |
| <li><a href="#">3</a></li> |
| <li><a href="#">4</a></li> |
| <li><a href="#">5</a></li> |
| <li> |
| <a href="#" aria-label="Next"> |
| <span aria-hidden="true">»</span> |
| </a> |
| </li> |
| </ul> |
| </nav> |
| </div> |
| {% highlight html %} |
| <nav aria-label="Page navigation"> |
| <ul class="pagination"> |
| <li> |
| <a href="#" aria-label="Previous"> |
| <span aria-hidden="true">«</span> |
| </a> |
| </li> |
| <li><a href="#">1</a></li> |
| <li><a href="#">2</a></li> |
| <li><a href="#">3</a></li> |
| <li><a href="#">4</a></li> |
| <li><a href="#">5</a></li> |
| <li> |
| <a href="#" aria-label="Next"> |
| <span aria-hidden="true">»</span> |
| </a> |
| </li> |
| </ul> |
| </nav> |
| {% endhighlight %} |
| |
| <div class="bs-callout bs-callout-info" id="callout-pagination-label"> |
| <h4>Labelling the pagination component</h4> |
| <p>The pagination component should be wrapped in a <code><nav></code> element to identify it as a navigation section to screen readers and other assistive technologies. In addition, as a page is likely to have more than one such navigation section already (such as the primary navigation in the header, or a sidebar navigation), it is advisable to provide a descriptive <code>aria-label</code> for the <code><nav></code> which reflects its purpose. For example, if the pagination component is used to navigate between a set of search results, an appropriate label could be <code>aria-label="Search results pages"</code>.</p> |
| </div> |
| |
| <h3>Disabled and active states</h3> |
| <p>Links are customizable for different circumstances. Use <code>.disabled</code> for unclickable links and <code>.active</code> to indicate the current page.</p> |
| <div class="bs-example" data-example-id="disabled-active-pagination"> |
| <nav aria-label="..."> |
| <ul class="pagination"> |
| <li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li> |
| <li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li> |
| <li><a href="#">2</a></li> |
| <li><a href="#">3</a></li> |
| <li><a href="#">4</a></li> |
| <li><a href="#">5</a></li> |
| <li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li> |
| </ul> |
| </nav> |
| </div> |
| {% highlight html %} |
| <nav aria-label="..."> |
| <ul class="pagination"> |
| <li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li> |
| <li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li> |
| ... |
| </ul> |
| </nav> |
| {% endhighlight %} |
| <p>We recommend that you swap out active or disabled anchors for <code><span></code>, or omit the anchor in the case of the previous/next arrows, to remove click functionality while retaining intended styles.</p> |
| {% highlight html %} |
| <nav aria-label="..."> |
| <ul class="pagination"> |
| <li class="disabled"> |
| <span> |
| <span aria-hidden="true">«</span> |
| </span> |
| </li> |
| <li class="active"> |
| <span>1 <span class="sr-only">(current)</span></span> |
| </li> |
| ... |
| </ul> |
| </nav> |
| {% endhighlight %} |
| |
| |
| <h3>Sizing</h3> |
| <p>Fancy larger or smaller pagination? Add <code>.pagination-lg</code> or <code>.pagination-sm</code> for additional sizes.</p> |
| <div class="bs-example" data-example-id="pagination-sizing"> |
| <nav aria-label="..."> |
| <ul class="pagination pagination-lg"> |
| <li><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li> |
| <li><a href="#">1</a></li> |
| <li><a href="#">2</a></li> |
| <li><a href="#">3</a></li> |
| <li><a href="#">4</a></li> |
| <li><a href="#">5</a></li> |
| <li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li> |
| </ul> |
| </nav> |
| <nav aria-label="..."> |
| <ul class="pagination"> |
| <li><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li> |
| <li><a href="#">1</a></li> |
| <li><a href="#">2</a></li> |
| <li><a href="#">3</a></li> |
| <li><a href="#">4</a></li> |
| <li><a href="#">5</a></li> |
| <li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li> |
| </ul> |
| </nav> |
| <nav aria-label="..."> |
| <ul class="pagination pagination-sm"> |
| <li><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li> |
| <li><a href="#">1</a></li> |
| <li><a href="#">2</a></li> |
| <li><a href="#">3</a></li> |
| <li><a href="#">4</a></li> |
| <li><a href="#">5</a></li> |
| <li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li> |
| </ul> |
| </nav> |
| </div> |
| {% highlight html %} |
| <nav aria-label="..."><ul class="pagination pagination-lg">...</ul></nav> |
| <nav aria-label="..."><ul class="pagination">...</ul></nav> |
| <nav aria-label="..."><ul class="pagination pagination-sm">...</ul></nav> |
| {% endhighlight %} |
| |
| |
| <h2 id="pagination-pager">Pager</h2> |
| <p>Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.</p> |
| |
| <h3>Default example</h3> |
| <p>By default, the pager centers links.</p> |
| <div class="bs-example" data-example-id="simple-pager"> |
| <nav aria-label="..."> |
| <ul class="pager"> |
| <li><a href="#">Previous</a></li> |
| <li><a href="#">Next</a></li> |
| </ul> |
| </nav> |
| </div> |
| {% highlight html %} |
| <nav aria-label="..."> |
| <ul class="pager"> |
| <li><a href="#">Previous</a></li> |
| <li><a href="#">Next</a></li> |
| </ul> |
| </nav> |
| {% endhighlight %} |
| |
| <h3>Aligned links</h3> |
| <p>Alternatively, you can align each link to the sides:</p> |
| <div class="bs-example" data-example-id="aligned-pager-links"> |
| <nav aria-label="..."> |
| <ul class="pager"> |
| <li class="previous"><a href="#"><span aria-hidden="true">←</span> Older</a></li> |
| <li class="next"><a href="#">Newer <span aria-hidden="true">→</span></a></li> |
| </ul> |
| </nav> |
| </div> |
| {% highlight html %} |
| <nav aria-label="..."> |
| <ul class="pager"> |
| <li class="previous"><a href="#"><span aria-hidden="true">←</span> Older</a></li> |
| <li class="next"><a href="#">Newer <span aria-hidden="true">→</span></a></li> |
| </ul> |
| </nav> |
| {% endhighlight %} |
| |
| |
| <h3>Optional disabled state</h3> |
| <p>Pager links also use the general <code>.disabled</code> utility class from the pagination.</p> |
| <div class="bs-example" data-example-id="disabled-pager"> |
| <nav aria-label="..."> |
| <ul class="pager"> |
| <li class="previous disabled"><a href="#"><span aria-hidden="true">←</span> Older</a></li> |
| <li class="next"><a href="#">Newer <span aria-hidden="true">→</span></a></li> |
| </ul> |
| </nav> |
| </div> |
| {% highlight html %} |
| <nav aria-label="..."> |
| <ul class="pager"> |
| <li class="previous disabled"><a href="#"><span aria-hidden="true">←</span> Older</a></li> |
| <li class="next"><a href="#">Newer <span aria-hidden="true">→</span></a></li> |
| </ul> |
| </nav> |
| {% endhighlight %} |
| </div> |