php - why my pagination does not work on mobile screens
hello I am looking for a responsive automatic pagination. For the moment the one I use is automatic but not responsive. The pagination tabs are created as the elements to be paginated
if we don't have many articles we only have a few tabs
but in my case I have to paginate more than 160 articles so this makes me in increments of 10 16 tabs
what I would like is to know how to achieve this is the pagination tab 1/2/3 ..... 10/11/12
here is what is happening for the moment in responsive
how to solve the problem if possible without javascript
<div class="container" style=" max-width: 100%;margin:auto;">
<nav>
<ul class="pagination">
<!-- Lien vers la page pr?�c?�dente (d?�sactiv?� si on se trouve sur la 1??re page) -->
<li class="page-item <?= ($currentPage == 1) ? "disabled" : "" ?>">
<a href="?page=<?= $currentPage - 1 ?>" class="page-link">Pr?�c?�dente</a>
</li>
<?php for($page = 1; $page <= $pages; $page++): ?>
<!-- Lien vers chacune des pages (activ?� si on se trouve sur la page correspondante) -->
<li class="page-item <?= ($currentPage == $page) ? "active" : "" ?>">
<a href="?page=<?= $page ?>" class="page-link"><?= $page ?></a>
</li>
<?php endfor ?>
<!-- Lien vers la page suivante (d?�sactiv?� si on se trouve sur la derni??re page) -->
<li class="page-item <?= ($currentPage == $pages) ? "disabled" : "" ?>">
<a href="?page=<?= $currentPage + 1 ?>" class="page-link">Suivante</a>
</li>
</ul>
</nav>
</div>
Answer
Solution:
You can do this by simply using css. Just make sure to add a media query to this css for whatever breakpoint you need.
This will work with no matter how many elements are in the li. Starting at position 5 and ending at last position minus 5
.pagination .page-item:nth-child(n+5):nth-last-child(n+5) {
display:none;
}
.pagination .page-item:nth-child(4):after {
display:block;
content: '...';
}
<ul class="pagination">
<li class="page-item">Precedente</li>
<li class="page-item">1</li>
<li class="page-item">2</li>
<li class="page-item">3</li>
<li class="page-item">4</li>
<li class="page-item">5</li>
<li class="page-item">6</li>
<li class="page-item">7</li>
<li class="page-item">8</li>
<li class="page-item">9</li>
<li class="page-item">10</li>
<li class="page-item">11</li>
<li class="page-item">12</li>
<li class="page-item">Suivante</li>
</ul>
Source