Центрирование разбивки на страницы в бутстрапе

101

У меня есть этот код в разбивке на страницы

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

Но мой ulвыровнен по левому краю. Есть ли способ ulцентрировать письмо div?

Я пробовал, margin: auto autoи margin :0 autoони не работали.

user192362127
источник
12
С Bootstrap 3 вам придется обернуть <ul class="pagination">...</ul>внутреннюю часть файла <div class="text-center"></div>.
caw
У Bootstrap есть несколько версий ... Было бы полезно, если бы вы могли указать, какую конкретную версию вы используете.
Тарикуль Ислам

Ответы:

154

Bootstrap добавил новый класс из версии 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 имеет новый класс

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

Для 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>

Дайте такой путь:

.pagination {text-align: center;}

Это работает, потому что ulиспользуетinline-block;

Скрипка: http://jsfiddle.net/praveenscience/5L8fu/


Или, если вы хотите использовать класс 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>

Скрипка: http://jsfiddle.net/praveenscience/5L8fu/1/

Правин Кумар Пурушотаман
источник
9
@Praveen .pagination-centered был удален в Bootstrap 3, вместо этого используйте .text-center. Однако я не голосовал против: P
Кевин С.
2
Я не знаю, когда проходящее голосование против стало крутым, но ваш первый ответ работает на меня, так что проголосуйте за.
Дэвид Харбидж
5
Bootstrap 4 должен быть<div class='d-flex'><ul class='pagination mx-auto'>...
Lysergia25
8
Добавьте, <ul class="pagination pagination-lg justify-content-center">...пожалуйста, в решения. getbootstrap.com/docs/4.1/components/pagination/#alignment
Денис
5
В настоящее время принятый ответ неверен. В какой-то момент это было очевидно правильно, но сейчас это неправильно, по крайней мере, для BS 4.x. Правильный ответ теперь - добавить justify-content-center к ul: <ul class = "pagination justify-content-center">
FlashJordan
86

И для Bootstrap 3.0, и для 2.3.2 для центрирования разбивки на страницы класс .text-center может быть применен к содержащему его div .

Примечание: Где применить .pagination класс в разметке изменилось между Bootstrap 2.3.2 и 3.0. См. Ниже или прочтите документацию Bootstrap по разбивке на страницы: Bootstrap 3.0 , Bootstrap 2.3.2 .

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/

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 должен это задокументировать.
ryenus
47

Для сосредоточил пагинацию в BS4, следует добавить justify-content-centerв 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">

Дополнительную информацию см. В разделе Bootstrap 4 разбиения на страницы .

NoobTW
источник
2
должен быть ответ
nam vo
20

Используя laravel с bootstrap 4, решение, которое сработало:

            <div class="d-flex">
                <div class="mx-auto">
                    {{$products->links("pagination::bootstrap-4")}}
                </div>
            </div>
Manelseo
источник
используя Symfony и bootstrap4, тоже работает! Спасибо !
Roubi
12

решение для Bootstrap 4

Вы можете использовать это Выравнивание, используйте этот классjustify-content-center

Измените выравнивание компонентов разбиения на страницы с помощью утилит flexbox .

и узнайте больше о нумерации страниц

<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
источник
8

Ранее упомянутые решения для Bootstrap 3.0 у меня не работали на 3.1.1. Класс разбиения на страницы имеет display:block, а <li>элементы есть float:left, а это означает, что просто обертывание одного <ul>in text-centerне работает. Я не знаю, как и когда что-то изменилось между 3.0 и 3.1.1. Во всяком случае, вместо этого мне пришлось <ul>воспользоваться display:inline-block. Вот код:

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

Или для более чистой настройки опустите styleатрибут и вместо этого поместите его в свою таблицу стилей:

.pagination {
    display: inline-block;
}

А затем используйте предложенную ранее разметку:

<div class="text-center">
    <ul class="pagination">
        <li><a href="...">...</a></li>
    </ul>
</div>
curtisdf
источник
7

Вы можете добавить свой собственный CSS:

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

Спасибо

Ферхат КОГЕР
источник
7

Это сработало для меня:

Стиль :

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

.pagination li {
  display: block;
 }

И лезвие :

<div class="pagination">                                              
  {{ $myCollection->render() }}
</div>
Андрей
источник
Используя настройки вашего первого определения, я создал класс ниже и добавил его в оборачивающий div над моей разбивкой на страницы. Это помогло мне. .cs-list-paginator { display: flex; justify-content: center; }
cdsaenz
4

Меня устраивает:

<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

В v4.0.0-alpha.6:

<div class="text-center text-sm-right">
    <ul class="pagination d-inline-flex">...</ul>
</div>
Кам Таллос
источник
1

бутстрап 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

Я не мог заставить ни одно из предложенных решений работать с Bootstrap 4 alpha 6, но следующий вариант, наконец, дал мне центрированную панель разбивки на страницы.

Переопределение CSS:

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

HTML:

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

Ни одна другая комбинация display, marginили класса на оберточной DIV казалось работать.

Эмма Берроуз
источник
0

Этот css работает для меня:

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

Парт Патель
источник
Нет необходимости в настраиваемом классе, если в начальной загрузке есть помощники, которые решат проблему.
Cam