Bootstrap 4 - Impaginazione

Descrizione

L'impaginazione viene utilizzata per dividere il contenuto correlato su più pagine. L'impaginazione di base può essere creata utilizzando la classe .pagination su un elemento <ul>.

Il seguente esempio lo dimostra:

Esempio

<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>

Produrrà il seguente risultato:

Produzione

Stati attivi e disabilitati

È possibile specificare la pagina corrente aggiungendo la classe .active e disabilitare l'opzione aggiungendo la classe .disabled all'elemento <li>. L'esempio seguente mostra l'uso delle classi .active e .disabled :

Esempio

<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>

Produrrà il seguente risultato:

Produzione

Dimensionamento dell'impaginazione

Usa la classe .pagination-lg per creare una grande impaginazione e la classe .pagination-sm per creare una piccola impaginazione.

Il seguente esempio lo dimostra:

Esempio

<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>

Produrrà il seguente risultato:

Produzione

Allineamento dell'impaginazione

L'impaginazione può essere allineata al centro aggiungendo la classe .justify-content-center ea destra aggiungendo la classe .justify-content-end come mostrato nell'esempio seguente:

Esempio

<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>

Produrrà il seguente risultato:

Produzione