Centrare l'impaginazione in bootstrap


100

Ho questo codice nell'impaginazione

<div class="pagination">
    <ul>
        <li><a href="?p=0" data-original-title="" title="">1</a></li> 
        <li><a href="?p=1" data-original-title="" title="">2</a></li> 
    </ul>
</div>

Ma il mio ulè allineato a sinistra. C'è un modo per centrare il ulwrt div?

Ho provato margin: auto autoe margin :0 autoloro ma non hanno funzionato.


12
Con Bootstrap 3, dovresti avvolgere l' <ul class="pagination">...</ul>interno di un file <div class="text-center"></div>.
caw

Bootstrap ha diverse versioni ... Sarebbe utile se potessi menzionare quale versione specifica stai utilizzando.
Tariqul Islam

Risposte:


153

Bootstrap ha aggiunto una nuova classe dalla 3.0.

<div class="text-center">
    <ul class="pagination">
        <li><a href="?p=0" data-original-title="" title="">1</a></li> 
        <li><a href="?p=1" data-original-title="" title="">2</a></li> 
    </ul>
</div>

Bootstrap 4 ha una nuova classe

<div class="text-xs-center">
    <ul class="pagination">
        <li><a href="?p=0" data-original-title="" title="">1</a></li> 
        <li><a href="?p=1" data-original-title="" title="">2</a></li> 
    </ul>
</div>

Per 2.3.2

<div class="pagination text-center">
    <ul>
        <li><a href="?p=0" data-original-title="" title="">1</a></li> 
        <li><a href="?p=1" data-original-title="" title="">2</a></li> 
    </ul>
</div>

Dai in questo modo:

.pagination {text-align: center;}

Funziona perché ulsta usandoinline-block;

Fiddle: http://jsfiddle.net/praveenscience/5L8fu/


O se desideri utilizzare la classe di Bootstrap:

<div class="pagination pagination-centered">
    <ul>
        <li><a href="?p=0" data-original-title="" title="">1</a></li> 
        <li><a href="?p=1" data-original-title="" title="">2</a></li> 
    </ul>
</div>

Fiddle: http://jsfiddle.net/praveenscience/5L8fu/1/


9
@Praveen .pagination-centered è stato rimosso in Bootstrap 3, usa invece .text-center. Nessun voto negativo da parte mia, però: P
Kevin C.

2
Non so quando il downvoting drive-by è diventato interessante, ma la tua prima risposta funziona per me, quindi fatti un voto positivo.
David Harbage,

5
Bootstrap 4 dovrebbe essere<div class='d-flex'><ul class='pagination mx-auto'>...
Lysergia25

8
Aggiungi <ul class="pagination pagination-lg justify-content-center">...alle soluzioni per favore. getbootstrap.com/docs/4.1/components/pagination/#alignment
Денис

5
La risposta attualmente accettata è sbagliata. Ovviamente a un certo punto era giusto, ma ora è sbagliato, almeno per BS 4.x. La risposta corretta ora è aggiungere justify-content-center a ul: <ul class = "pagination justify-content-center">
FlashJordan

86

Sia per Bootstrap 3.0 che per 2.3.2, per centrare l'impaginazione, la classe .text-center può essere applicata al div contenitore .

Nota: la posizione in cui applicare la classe .pagination nel markup è cambiata tra Bootstrap 2.3.2 e 3.0. Vedi sotto, o leggi i documenti Bootstrap sulla paginazione: Bootstrap 3.0 , Bootstrap 2.3.2 .

Bootstrap 3 Esempio

<div class="text-center">
    <ul class="pagination">
        <li><a href="?p=0" data-original-title="" title="">1</a></li> 
        <li><a href="?p=1" data-original-title="" title="">2</a></li> 
    </ul>
</div>

http://jsfiddle.net/mynameiswilson/eYNMu/

Bootstrap 2.3.2 Esempio

<div class="pagination text-center">
    <ul>
        <li><a href="?p=0" data-original-title="" title="">1</a></li> 
        <li><a href="?p=1" data-original-title="" title="">2</a></li> 
    </ul>
</div>

http://jsfiddle.net/mynameiswilson/84X3M/


4
anche Bootstrap dovrebbe documentarlo.
ryenus

47

Per centrato l'impaginazione in BS4, dovrebbe aggiungere justify-content-centerin ul:

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

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">

Vedere Pagination Bootstrap 4 per ulteriori informazioni.


2
dovrebbe essere la risposta
nam vo

18

Utilizzando laravel con bootstrap 4, la soluzione che ha funzionato:

            <div class="d-flex">
                <div class="mx-auto">
                    {{$products->links("pagination::bootstrap-4")}}
                </div>
            </div>

usando Symfony e bootstrap4, funziona anche! Grazie !
Roubi

12

soluzione per Bootstrap 4

Puoi usarlo Allineamento usa questa classejustify-content-center

Modificare l'allineamento dei componenti di impaginazione con le utilità flexbox .

e saperne di più su di esso pagination

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>



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


8

Le soluzioni menzionate in precedenza per Bootstrap 3.0 non funzionavano per me su 3.1.1. La classe impaginazione ha display:block, e gli <li>elementi hanno float:left, i quali mezzi semplicemente avvolgendo il <ul>in text-centersola non funziona. Non ho idea di come o quando le cose siano cambiate tra 3.0 e 3.1.1. Comunque, ho dovuto fare l' <ul>uso display:inline-blockinvece. Ecco il codice:

<div class="text-center">
    <ul class="pagination" style="display: inline-block">
        <li><a href="...">...</a></li>
    </ul>
</div>

Oppure, per una configurazione più pulita, ometti l' styleattributo e inseriscilo invece nel tuo foglio di stile:

.pagination {
    display: inline-block;
}

Quindi usa il markup suggerito in precedenza:

<div class="text-center">
    <ul class="pagination">
        <li><a href="...">...</a></li>
    </ul>
</div>

7

Puoi aggiungere il tuo CSS personalizzato:

.pagination{
    display:table;
    margin:0 auto;
}

Grazie


7

Questo questo, ha funzionato per me:

Stile :

.pagination {
  display: flex;
  justify-content: center;
}

.pagination li {
  display: block;
 }

E la lama :

<div class="pagination">                                              
  {{ $myCollection->render() }}
</div>

Utilizzando le impostazioni della tua prima definizione, ho creato la classe di seguito e l'ho aggiunta al div wrapping sopra la mia impaginazione ha fatto il trucco per me. .cs-list-paginator { display: flex; justify-content: center; }
cdsaenz

4

Per me funziona:

<div class="text-center">
<ul class="pagination pagination-lg">
   <li>
  <a href="#" aria-label="Previous">
    <span aria-hidden="true">&laquo;</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">&raquo;</span>
  </a>
</li>
</ul>


1

Nella v4.0.0-alpha.6:

<div class="text-center text-sm-right">
    <ul class="pagination d-inline-flex">...</ul>
</div>

1

bootstrap 4:

<!-- Default (left-aligned) -->
<ul class="pagination" style="margin:20px 0">
  <li class="page-item">...</li>
</ul>

<!-- Center-aligned -->
<ul class="pagination justify-content-center" style="margin:20px 0">
  <li class="page-item">...</li>
</ul>

<!-- Right-aligned -->
<ul class="pagination justify-content-end" style="margin:20px 0">
  <li class="page-item">...</li>
</ul> 

0

Non sono riuscito a far funzionare nessuna delle soluzioni proposte con Bootstrap 4 alpha 6, ma la variazione seguente mi ha finalmente ottenuto una barra di impaginazione centrata.

Sostituzione CSS:

.pagination {
  display: inline-flex;
  margin: 0 auto;
}

HTML:

<div class="text-center">
  <ul class="pagination">
    <li><a href="...">...</a></li>
  </ul>
</div>

Nessuna altra combinazione di display, margino di classe div confezione sembrava funzionare.


0

Questo CSS funziona per me:

.dataTables_paginate {
   float: none !important;
   text-align: center !important;
}

-2
You can use the below code to center pagination 

.pagination-centered {
    text-align: center;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pagination-centered">
    <ul class="pagination">
      <li class="active"><a href="#">1</a></li>
      <li><a href="#">2</a></li>
      <li><a href="#">3</a></li>
    </ul>
</div>


Non c'è bisogno di una classe personalizzata quando ci sono helper in bootstrap che risolveranno il problema.
Cam Tullos
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.