Căn giữa phân trang trong bootstrap


100

Tôi có mã này trong phân trang

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

Nhưng của tôi ullà căn trái. Có cách nào để căn giữa ulwrt divkhông?

Tôi đã thử margin: auto automargin :0 autochúng nhưng không hoạt động.


12
Với Bootstrap 3, bạn sẽ phải bọc <ul class="pagination">...</ul>bên trong a <div class="text-center"></div>.
caw

Bootstrap có một số phiên bản ... Sẽ rất hữu ích nếu bạn có thể đề cập đến phiên bản cụ thể nào bạn đang sử dụng.
Tariqul Islam

Câu trả lời:


153

Bootstrap đã thêm một lớp mới từ 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 có lớp mới

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

Đối với 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>

Đưa ra cách này:

.pagination {text-align: center;}

Nó hoạt động vì ulđang sử dụnginline-block;

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


Hoặc nếu bạn muốn sử dụng lớp của 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 đã bị xóa trong Bootstrap 3, thay vào đó hãy sử dụng .text-center. Tuy nhiên, không có phản đối nào từ tôi: P
Kevin C.

2
Tôi không biết khi nào việc tán thưởng bằng lái xe trở nên thú vị, nhưng câu trả lời đầu tiên của bạn phù hợp với tôi, vì vậy hãy có một sự ủng hộ.
David Harbage

5
Bootstrap 4 nên được<div class='d-flex'><ul class='pagination mx-auto'>...
Lysergia25

8
<ul class="pagination pagination-lg justify-content-center">...Vui lòng thêm vào các giải pháp. getbootstrap.com/docs/4.1/components/pagination/#alignment
Денис

5
Câu trả lời hiện được chấp nhận là sai. Rõ ràng là nó đúng ở một số điểm, nhưng bây giờ nó đã sai, ít nhất là đối với BS 4.x. Câu trả lời chính xác hiện là thêm justify-content-center vào ul: <ul class = "pagination justify-content-center">
FlashJordan

86

Đối với cả Bootstrap 3.0 và 2.3.2, để phân trang ở giữa, lớp .text-center có thể được áp dụng cho div chứa .

Lưu ý: Vị trí áp dụng lớp .pagination trong đánh dấu đã thay đổi giữa Bootstrap 2.3.2 và 3.0. Xem bên dưới hoặc đọc tài liệu Bootstrap về phân trang: Bootstrap 3.0 , Bootstrap 2.3.2 .

Ví dụ về Bootstrap 3

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

Ví dụ về Bootstrap 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>

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


4
Bootstrap cũng nên ghi lại điều này.
ryenus

47

Để căn giữa phân trang trong BS4, nên thêm justify-content-centervào 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">

Xem Pagination Bootstrap 4 để biết thêm thông tin.


2
nên là câu trả lời
nam vo

18

Sử dụng laravel với bootstrap 4, giải pháp đã hoạt động:

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

sử dụng Symfony và bootstrap4, cũng hoạt động! cảm ơn !
Roubi

12

giải pháp cho Bootstrap 4

Bạn có thể sử dụng nó Căn chỉnh sử dụng lớp nàyjustify-content-center

Thay đổi sự liên kết của các thành phần phân trang bằng các tiện ích flexbox .

và tìm hiểu thêm về phân trang

<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

Các giải pháp được đề cập trước đây cho Bootstrap 3.0 không hoạt động đối với tôi trên 3.1.1. Lớp phân trang có display:block, và các <li>phần tử có float:left, có nghĩa là chỉ gói phần tử <ul>vào text-centermột mình không hoạt động. Tôi không biết làm thế nào hoặc khi nào mọi thứ thay đổi giữa 3.0 và 3.1.1. Dù sao, tôi đã <ul>sử dụng display:inline-blockthay thế. Đây là mã:

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

Hoặc để thiết lập gọn gàng hơn, hãy bỏ qua stylethuộc tính và đặt nó vào biểu định kiểu của bạn thay vào đó:

.pagination {
    display: inline-block;
}

Và sau đó sử dụng đánh dấu được đề xuất trước đó:

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

7

Bạn có thể thêm Css tùy chỉnh của mình:

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

Cảm ơn bạn


7

Điều này, nó đã làm việc cho tôi:

Phong cách :

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

.pagination li {
  display: block;
 }

Và lưỡi :

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

Sử dụng cài đặt của định nghĩa đầu tiên của bạn, tôi đã tạo lớp bên dưới và thêm nó vào div bao bọc phía trên phân trang của tôi đã thực hiện một mẹo nhỏ cho tôi. .cs-list-paginator { display: flex; justify-content: center; }
cdsaenz

4

Nó hoạt động cho tôi:

<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

Trong 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

Tôi không thể nhận được bất kỳ giải pháp nào được đề xuất để hoạt động với Bootstrap 4 alpha 6, nhưng biến thể sau cuối cùng đã giúp tôi có một thanh phân trang ở giữa.

Ghi đè CSS:

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

HTML:

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

Không có sự kết hợp nào khác của display , marginhoặc lớp trên div gói dường như hoạt động.


0

Css này phù hợp với tôi:

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


Không cần lớp tùy chỉnh khi có người trợ giúp trong bootstrap sẽ giải quyết vấn đề.
Cam Tullos 23/07/17
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.