Source

Paginacija

Dokumentacija i primjeri za prikazivanje paginacije koja ukazuje na niz povezanog sadržaja postoji na više stranica.

Pregled

Koristimo veliki blok povezanih veza za našu paginaciju, čineći veze teško promašivim i lako skalabilnim – a sve to istovremeno pružajući velika područja za pogodak. Paginacija je izgrađena sa HTML elementima liste tako da čitači ekrana mogu objaviti broj dostupnih veza. Koristite <nav>element omota da biste ga identificirali kao odjeljak za navigaciju za čitače ekrana i druge pomoćne tehnologije.

Osim toga, kako stranice vjerovatno imaju više od jednog takvog odjeljka za navigaciju, preporučljivo je dati opis aria-labelkoji <nav>će odražavati njegovu svrhu. Na primjer, ako se komponenta paginacije koristi za navigaciju između skupa rezultata pretraživanja, odgovarajuća oznaka može biti aria-label="Search results pages".

<nav aria-label="Page navigation example">
  <ul class="pagination">
    <li class="page-item"><a class="page-link" href="#">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>

Rad sa ikonama

Želite koristiti ikonu ili simbol umjesto teksta za neke veze za paginaciju? Obavezno obezbijedite odgovarajuću podršku za čitač ekrana sa ariaatributima i .sr-onlyuslužnim programom.

<nav aria-label="Page navigation example">
  <ul class="pagination">
    <li class="page-item">
      <a class="page-link" href="#" aria-label="Previous">
        <span aria-hidden="true">&laquo;</span>
        <span class="sr-only">Previous</span>
      </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="#" aria-label="Next">
        <span aria-hidden="true">&raquo;</span>
        <span class="sr-only">Next</span>
      </a>
    </li>
  </ul>
</nav>

Onemogućeno i aktivno stanje

Veze za paginaciju su prilagodljive različitim okolnostima. Koristi .disabledse za veze na koje se ne može kliknuti i .activeza označavanje trenutne stranice.

Dok .disabledklasa pokušava da onemogući funkciju veze za s, to CSS svojstvo još nije standardizovano i ne uzima u obzir navigaciju tastaturom pointer-events: none. Kao takav, uvijek biste trebali dodati onemogućene veze i koristiti prilagođeni JavaScript da biste u potpunosti onemogućili njihovu funkcionalnost.<a>tabindex="-1"

<nav aria-label="...">
  <ul class="pagination">
    <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 active">
      <a class="page-link" href="#">2 <span class="sr-only">(current)</span></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>

Opciono možete zamijeniti aktivna ili onemogućena sidra za <span>, ili izostaviti sidro u slučaju strelica prethodno/sljedeće, da biste uklonili funkcionalnost klika i spriječili fokus tipkovnice uz zadržavanje predviđenih stilova.

<nav aria-label="...">
  <ul class="pagination">
    <li class="page-item disabled">
      <span class="page-link">Previous</span>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item active">
      <span class="page-link">
        2
        <span class="sr-only">(current)</span>
      </span>
    </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>

Određivanje veličine

Želite veću ili manju paginaciju? Dodati .pagination-lgili .pagination-smza dodatne veličine.

<nav aria-label="...">
  <ul class="pagination pagination-lg">
    <li class="page-item disabled">
      <a class="page-link" href="#" tabindex="-1">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>
  </ul>
</nav>
<nav aria-label="...">
  <ul class="pagination pagination-sm">
    <li class="page-item disabled">
      <a class="page-link" href="#" tabindex="-1">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>
  </ul>
</nav>

Poravnanje

Promijenite poravnanje komponenti paginacije pomoću flexbox uslužnih programa .

<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>
<nav aria-label="Page navigation example">
  <ul class="pagination justify-content-end">
    <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>