Paginação
Documentação e exemplos para mostrar a paginação para indicar que existe uma série de conteúdo relacionado em várias páginas.
Usamos um grande bloco de links conectados para nossa paginação, tornando os links difíceis de perder e facilmente escaláveis, ao mesmo tempo em que fornecemos grandes áreas de acesso. A paginação é construída com elementos HTML de lista para que os leitores de tela possam anunciar o número de links disponíveis. Use um elemento de encapsulamento <nav>
para identificá-lo como uma seção de navegação para leitores de tela e outras tecnologias assistivas.
Além disso, como as páginas provavelmente têm mais de uma seção de navegação, é aconselhável fornecer um descritivo aria-label
para <nav>
refletir sua finalidade. Por exemplo, se o componente de paginação for usado para navegar entre um conjunto de resultados de pesquisa, um rótulo apropriado poderá ser aria-label="Search results pages"
.
<nav aria-label="Page navigation example">
<ul class="pagination">
<li class="page-item"><a class="page-link" href="#">Previous</a></li>
<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="#">Next</a></li>
</ul>
</nav>
Procurando usar um ícone ou símbolo no lugar do texto para alguns links de paginação? Certifique-se de fornecer suporte adequado ao leitor de tela com aria
atributos e o .sr-only
utilitário.
<nav aria-label="Page navigation example">
<ul class="pagination">
<li class="page-item">
<a class="page-link" href="#" aria-label="Previous">
<span aria-hidden="true">«</span>
<span class="sr-only">Previous</span>
</a>
</li>
<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">
<span aria-hidden="true">»</span>
<span class="sr-only">Next</span>
</a>
</li>
</ul>
</nav>
Os links de paginação são personalizáveis para diferentes circunstâncias. Use .disabled
para links que parecem não clicáveis e .active
para indicar a página atual.
Enquanto a .disabled
classe tentapointer-events: none
desabilitar a funcionalidade de link de s, essa propriedade CSS ainda não está padronizada e não leva em conta a navegação do teclado. Como tal, você deve sempre adicionar links desabilitados e usar JavaScript personalizado para desabilitar totalmente sua funcionalidade.<a>
tabindex="-1"
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item active">
<a class="page-link" href="#">2 <span class="sr-only">(current)</span></a>
</li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item">
<a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>
Você pode, opcionalmente, trocar âncoras ativas ou desativadas por <span>
, ou omitir a âncora no caso das setas anterior/seguinte, para remover a funcionalidade de clique e evitar o foco do teclado enquanto retém os estilos pretendidos.
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
<span class="page-link">Previous</span>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item active">
<span class="page-link">
2
<span class="sr-only">(current)</span>
</span>
</li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item">
<a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>
Gosta de paginação maior ou menor? Adicione .pagination-lg
ou .pagination-sm
para tamanhos adicionais.
<nav aria-label="...">
<ul class="pagination pagination-lg">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">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>
</ul>
</nav>
<nav aria-label="...">
<ul class="pagination pagination-sm">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">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>
</ul>
</nav>
Altere o alinhamento dos componentes de paginação com utilitários flexbox .
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">Previous</a>
</li>
<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="#">Next</a>
</li>
</ul>
</nav>
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">Previous</a>
</li>
<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="#">Next</a>
</li>
</ul>
</nav>