Zentrieren der Paginierung im Bootstrap


100

Ich habe diesen Code in Paginierung

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

Aber mein ulist linksbündig. Gibt es eine Möglichkeit, die ulSchrift zu zentrieren div?

Ich habe es versucht margin: auto autound margin :0 autosie haben aber nicht funktioniert.


12
Mit Bootstrap 3 müssten Sie das <ul class="pagination">...</ul>Innere einwickeln <div class="text-center"></div>.
— Caw

Bootstrap hat mehrere Versionen ... Es wäre hilfreich, wenn Sie angeben könnten, welche spezifische Version Sie verwenden.
— Tariqul Islam

Antworten:


153

Bootstrap hat eine neue Klasse ab 3.0 hinzugefügt.

<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 hat eine neue Klasse

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

Für 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>

Geben Sie diesen Weg:

.pagination {text-align: center;}

Es funktioniert, weil verwendet ulwirdinline-block;

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


Oder wenn Sie die Bootstrap-Klasse verwenden möchten:

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

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


9
@Praveen .pagination-centred wurde in Bootstrap 3 entfernt. Verwenden Sie stattdessen .text-center. Keine Gegenstimme von mir: P
— Kevin C.

2
Ich weiß nicht, wann Drive-by-Downvoting cool wurde, aber Ihre erste Antwort funktioniert für mich.
— David Harbage

5
Bootstrap 4 sollte sein<div class='d-flex'><ul class='pagination mx-auto'>...
— Lysergia25

8
Fügen <ul class="pagination pagination-lg justify-content-center">...Sie bitte Lösungen hinzu. getbootstrap.com/docs/4.1/components/pagination/#alignment
— Денис

5
Die aktuell akzeptierte Antwort ist falsch. Irgendwann war es offensichtlich richtig, aber jetzt ist es falsch, zumindest für BS 4.x. Die richtige Antwort besteht nun darin, der ul
— Folgendes

86

Sowohl für Bootstrap 3.0 als auch für 2.3.2 kann zum Zentrieren der Paginierung die Klasse .text-center auf das enthaltende div angewendet werden .

Hinweis: Die Anwendung der .pagination- Klasse im Markup hat sich zwischen Bootstrap 2.3.2 und 3.0 geändert. Siehe unten oder lesen Sie die Bootstrap-Dokumente zur Paginierung: Bootstrap 3.0 , Bootstrap 2.3.2 .

Bootstrap 3 Beispiel

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

<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
Auch Bootstrap sollte dies dokumentieren.
— Ryenus

46

Um die Paginierung in BS4 zentriert sollte, fügen Sie 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>

Weitere Informationen finden Sie unter Paginierungs-Bootstrap 4 .


2
sollte die Antwort sein
— nam vo

18

Mit Laravel mit Bootstrap 4 hat die Lösung funktioniert:

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

mit Symfony und bootstrap4 auch funktionieren! Vielen Dank !
— Roubi

12

Lösung für Bootstrap 4

Sie können es verwenden. Ausrichtung Verwenden Sie diese Klassejustify-content-center

Ändern Sie die Ausrichtung der Paginierungskomponenten mit den Flexbox-Dienstprogrammen .

und erfahren Sie mehr darüber Paginierung

<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

Die zuvor erwähnten Lösungen für Bootstrap 3.0 haben unter 3.1.1 bei mir nicht funktioniert. Die Paginierungsklasse hat display:blockund die <li>Elemente haben float:left, was bedeutet, dass das bloße Einwickeln des <ul>In text-centerallein nicht funktioniert. Ich habe keine Ahnung, wie oder wann sich die Dinge zwischen 3.0 und 3.1.1 geändert haben. Jedenfalls hatte ich stattdessen den <ul>Gebrauch gemacht display:inline-block. Hier ist der Code:

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

Oder lassen Sie das styleAttribut für ein saubereres Setup weg und fügen Sie es stattdessen in Ihr Stylesheet ein:

.pagination {
    display: inline-block;
}

Verwenden Sie dann das zuvor vorgeschlagene Markup:

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

7

Sie können Ihr benutzerdefiniertes CSS hinzufügen:

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

Danke dir


7

Das das, es hat bei mir funktioniert:

Stil :

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

.pagination li {
  display: block;
 }

Und Klinge :

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

Mit den Einstellungen Ihrer ersten Definition habe ich die folgende Klasse erstellt und sie dem Wrapping-Div über meiner Paginierung hinzugefügt. .cs-list-paginator { display: flex; justify-content: center; }
— cdsaenz

4

Für mich geht das:

<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

In 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

Ich konnte keine der vorgeschlagenen Lösungen für Bootstrap 4 alpha 6 verwenden, aber die folgende Variante brachte mir schließlich eine zentrierte Paginierungsleiste.

CSS-Überschreibung:

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

HTML:

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

Keine andere Kombination display, marginoder Klasse auf der Verpackung div schien zu funktionieren.


0

Diese CSS funktioniert für mich:

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


Keine benutzerdefinierte Klasse erforderlich, wenn Helfer im Bootstrap vorhanden sind, die das Problem lösen.
— Cam Tullos
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.