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.

user192362127
quelle
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/

Praveen Kumar Purushothaman
quelle
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/

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

NoobTW
quelle
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>
manelseo
quelle
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>

core114
quelle
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>
curtisdf
quelle
7

Sie können Ihr benutzerdefiniertes CSS hinzufügen:

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

Danke dir

Ferhat KOÇER
quelle
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>
Andrew
quelle
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>

Naty
quelle
1

In v4.0.0-alpha.6:

<div class="text-center text-sm-right">
    <ul class="pagination d-inline-flex">...</ul>
</div>
Cam Tullos
quelle
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> 
Eassa Nassar
quelle
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.

Emma Burrows
quelle
0

Diese CSS funktioniert für mich:

.dataTables_paginate {
   float: none !important;
   text-align: center !important;
}
ZekeMidas
quelle
-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>

Parth Patel
quelle
Keine benutzerdefinierte Klasse erforderlich, wenn Helfer im Bootstrap vorhanden sind, die das Problem lösen.
Cam Tullos