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.