The pagination component consists of several elements:
pagination-previous
andpagination-next
for incremental navigationpagination-list
which displays page items for navigation to individual pagespagination-link
for page numbers andpagination-ellipsis
for range numbers
All elements are optional so you can compose your pagination as you wish.
HTML
<nav aria-label="pagination example nav 1" class="pagination" role="navigation">
<a class="pagination-previous">
<span class="visually-hidden">Previous</span>
<span class="icon" aria-hidden="true">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 448">
<path
class="fill-current-color"
d="M448 224H62.625l148.688 148.688-22.625 22.625L1.375 208 188.688 20.688l22.625 22.625L62.625 192H448v32z"
/>
</svg>
</span>
</a>
<a class="pagination-next">
<span class="visually-hidden">Next</span>
<span class="icon" aria-hidden="true">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-255 57 448 448">
<path
class="fill-current-color"
d="M-253.625 281v-32H131.75L-16.938 100.313 5.687 77.688 193 265 5.687 452.313l-22.625-22.625L131.75 281h-385.375z"
/>
</svg>
</span>
</a>
<ul class="pagination-list">
<li>
<a class="pagination-link" aria-label="Go to page 1">1</a>
</li>
<li>
<span class="pagination-ellipsis">…</span>
</li>
<li>
<a class="pagination-link" aria-label="Go to page 45">45</a>
</li>
<li>
<a class="pagination-link is-current" aria-label="Page 46" aria-current="page">46</a>
</li>
<li>
<a class="pagination-link" aria-label="Go to page 47">47</a>
</li>
<li>
<span class="pagination-ellipsis">…</span>
</li>
<li>
<a class="pagination-link" aria-label="Go to page 86">86</a>
</li>
</ul>
</nav>
You can disable some links if they are not active, or change the amount of page numbers available.
HTML
<nav aria-label="pagination example nav 2" class="pagination" role="navigation" >
<a href class="pagination-previous" aria-label="previous (2)" title="This is the first page" disabled>
<span class="icon" aria-hidden="true">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 448">
<path
class="fill-current-color"
d="M448 224H62.625l148.688 148.688-22.625 22.625L1.375 208 188.688 20.688l22.625 22.625L62.625 192H448v32z"
/>
</svg>
</span>
</a>
<a href class="pagination-next" aria-label="next">
<span class="icon" aria-hidden="true">
<span class="icon" aria-hidden="true">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-255 57 448 448">
<path class="fill-current-color"
d="M-253.625 281v-32H131.75L-16.938 100.313 5.687 77.688 193 265 5.687 452.313l-22.625-22.625L131.75 281h-385.375z"
/>
</svg>
</span>
</a>
<ul class="pagination-list">
<li>
<a href class="pagination-link is-current" aria-label="Page 1" aria-current="page">1</a>
</li>
<li>
<a href class="pagination-link" aria-label="Go to page 2">2</a>
</li>
<li>
<a href class="pagination-link" aria-label="Go to page 3">3</a>
</li>
</ul>
</nav>
The current page can be specified using the is-current
modifier.
By default on tablet, the list is located on the left, and the previous/next buttons on the right. But you can change the positioning and order of these elements by using the pagination-center
modifier.
HTML
<nav aria-label="pagination example nav 3" class="pagination pagination-center" role="navigation">
<a href class="pagination-previous" aria-label="previous (3)">
<span class="icon" aria-hidden="true">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 448">
<path
class="fill-current-color"
d="M448 224H62.625l148.688 148.688-22.625 22.625L1.375 208 188.688 20.688l22.625 22.625L62.625 192H448v32z"
/>
</svg>
</span>
</a>
<a href class="pagination-next" aria-label="next">
<span class="icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-255 57 448 448" aria-hidden="true">
<path
class="fill-current-color"
d="M-253.625 281v-32H131.75L-16.938 100.313 5.687 77.688 193 265 5.687 452.313l-22.625-22.625L131.75 281h-385.375z"
/>
</svg>
</span>
</a>
<ul class="pagination-list">
<li><a href class="pagination-link" aria-label="Go to page 1">1</a></li>
<li><span class="pagination-ellipsis">…</span></li>
<li><a href class="pagination-link" aria-label="Go to page 45">45</a></li>
<li>
<a href class="pagination-link is-current" aria-label="Page 46" aria-current="page">46</a>
</li>
<li><a href class="pagination-link" aria-label="Go to page 47">47</a></li>
<li><span class="pagination-ellipsis">…</span></li>
<li><a href class="pagination-link" aria-label="Go to page 86">86</a></li>
</ul>
</nav>