Bootstrap 4 - Paginação
Descrição
A paginação é usada para dividir o conteúdo relacionado em várias páginas. A paginação básica pode ser criada usando a classe .pagination para um elemento <ul>.
O exemplo a seguir demonstra isso -
Exemplo
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Basic Pagination</h2>
<nav>
<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 = "#">4</a>
</li>
<li class = "page-item">
<a class = "page-link" href = "#">5</a>
</li>
<li class = "page-item">
<a class = "page-link" href = "#">Next</a>
</li>
</ul>
</nav>
</div>
<!-- jQuery library -->
<script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin = "anonymous">
</script>
<!-- Popper -->
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin = "anonymous">
</script>
<!-- Latest compiled and minified Bootstrap JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
crossorigin = "anonymous">
</script>
</body>
</html>
Isso produzirá o seguinte resultado -
Resultado
Estados ativos e desativados
Você pode especificar a página atual adicionando a classe .active e desabilitar a opção adicionando a classe .disabled ao elemento <li>. O exemplo a seguir demonstra o uso de .active e .disabled aulas -
Exemplo
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Active State</h2>
<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 active">
<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>
<br>
<h2>Disabled State</h2>
<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 disabled">
<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>
</div>
<!-- jQuery library -->
<script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin = "anonymous">
</script>
<!-- Popper -->
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin = "anonymous">
</script>
<!-- Latest compiled and minified Bootstrap JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
crossorigin = "anonymous">
</script>
</body>
</html>
Isso produzirá o seguinte resultado -
Resultado
Dimensionamento de Paginação
Use a classe .pagination-lg para criar uma grande paginação e a classe .pagination-sm para criar uma pequena paginação.
O exemplo a seguir demonstra isso -
Exemplo
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Large Pagination</h2>
<nav aria-label = "Page navigation example">
<ul class = "pagination pagination-lg">
<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>
<br>
<h2>Small Pagination</h2>
<nav aria-label = "Page navigation example">
<ul class = "pagination pagination-sm">
<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>
</div>
<!-- jQuery library -->
<script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin = "anonymous">
</script>
<!-- Popper -->
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin = "anonymous">
</script>
<!-- Latest compiled and minified Bootstrap JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
crossorigin = "anonymous">
</script>
</body>
</html>
Isso produzirá o seguinte resultado -
Resultado
Alinhamento de Paginação
A paginação pode ser alinhada ao centro adicionando a classe .justify-content-center e ao lado direito adicionando a classe .justify-content-end conforme mostrado no exemplo abaixo -
Exemplo
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Center Aligned Pagination</h2>
<nav aria-label = "Page navigation example">
<ul class = "pagination justify-content-center">
<li class = "page-item">
<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>
<br>
<h2>Right Aligned Pagination</h2>
<nav aria-label = "Page navigation example">
<ul class = "pagination justify-content-end">
<li class = "page-item">
<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>
</div>
<!-- jQuery library -->
<script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin = "anonymous">
</script>
<!-- Popper -->
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin = "anonymous">
</script>
<!-- Latest compiled and minified Bootstrap JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
crossorigin = "anonymous">
</script>
</body>
</html>
Isso produzirá o seguinte resultado -