Компонент Bootstrap Pagination
не имеет каких-либо интеллектуальных, отзывчивых поведений, встроенных в него (например, Grid). Поэтому, когда мы говорим о поведении, которое вы описываете ... это как ожидалось.
Тогда возникает проблема, как вы решаете этот недостаток? Масштабирование кнопок, как вы предлагаете, кажется хорошей идеей; а что если у вас 100 страниц? Если его масштабировать так, чтобы все 100 кнопок располагались на одной строке, эти кнопки будут очень маленькими.
Итак, у вас есть пара подходов, которые запекаются в компоненте Pagination
Bootstrap:
- Отображение номеров страниц X с помощью кнопок
Prev
и Next
.
- Выше, но с проставкой
...
для указания наличия дополнительных страниц
Или вы можете настроить поведение самого компонента Pagination
с помощью простого класса-оболочки: .table-responsive
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
<nav aria-label="Page navigation example" class="table-responsive mb-2">
<ul class="pagination mb-0">
<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="#">4</a></li>
<li class="page-item"><a class="page-link" href="#">5</a></li>
<li class="page-item"><a class="page-link" href="#">6</a></li>
<li class="page-item"><a class="page-link" href="#">7</a></li>
<li class="page-item"><a class="page-link" href="#">8</a></li>
<li class="page-item"><a class="page-link" href="#">9</a></li>
<li class="page-item"><a class="page-link" href="#">10</a></li>
<li class="page-item"><a class="page-link" href="#">11</a></li>
<li class="page-item"><a class="page-link" href="#">12</a></li>
<li class="page-item"><a class="page-link" href="#">13</a></li>
<li class="page-item"><a class="page-link" href="#">14</a></li>
<li class="page-item"><a class="page-link" href="#">15</a></li>
<li class="page-item"><a class="page-link" href="#">16</a></li>
<li class="page-item"><a class="page-link" href="#">17</a></li>
<li class="page-item"><a class="page-link" href="#">18</a></li>
<li class="page-item"><a class="page-link" href="#">19</a></li>
<li class="page-item"><a class="page-link" href="#">20</a></li>
<li class="page-item"><a class="page-link" href="#">Next</a></li>
</ul>
</nav>
[ More Content Here ]
Класс .table-responsive
предназначен для работы с <table>
и допускает горизонтальную прокрутку, когда она в противном случае превысила бы 100% ширины экрана ... но здесь он прекрасно работает для обеспечения некоторой полезности, если вы хотите включить все возможные варианты нумерации страниц.
Я надеюсь, что вы можете оценить, хотя ... это ужасный UX. Вот почему так много шаблонов нумерации страниц следуют вышеуказанным пунктам.