Paginazioa
Hainbat orrialdetan erlazionatutako eduki sorta bat dagoela adierazteko orrialdekatzea erakusteko dokumentazioa eta adibideak.
Ikuspegi orokorra
Konektatutako esteken bloke handi bat erabiltzen dugu gure orrialderako, estekak galtzeko zailak eta erraz eskalagarriak izan daitezen, dena arrakasta-eremu handiak eskaintzen dituen bitartean. Orrizketa HTML zerrendako elementuekin eraikitzen da, pantaila-irakurleek eskuragarri dauden esteka kopurua iragar dezaten. Erabili bilgarri <nav>
-elementu bat nabigazio-atal gisa identifikatzeko pantaila-irakurgailuak eta bestelako laguntza-teknologiak.
Horrez gain, orrialdeek nabigazio-atal bat baino gehiago izan dezaketenez, komeni da bere helburua islatzeko deskribapen bat aria-label
ematea . <nav>
Esate baterako, orrialdeketa-osagaia bilaketa-emaitzen multzo baten artean nabigatzeko erabiltzen bada, etiketa egokia izan daiteke 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>
Ikonoekin lan egitea
Testuaren ordez ikono edo ikur bat erabili nahi duzu orrialdeetarako esteka batzuetan? Ziurtatu pantaila-irakurlearen euskarri egokia ematen duzula aria
atributuekin.
<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">«</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">»</span>
</a>
</li>
</ul>
</nav>
Desgaitutako eta aktibo egoerak
Paginazio estekak egoera desberdinetarako pertsonaliza daitezke. Erabili .disabled
klik egin ezin daitezkeen esteketarako eta .active
uneko orrialdea adierazteko.
.disabled
Klaseak s-ren estekaren funtzionaltasuna desgaitzen saiatzekopointer-events: none
erabiltzen duen arren, CSS propietate hori oraindik ez dago estandarizatuta eta ez du teklatuaren nabigazioa kontuan hartzen. Hori dela eta, beti gehitu behar dituzu desgaitutako estekak eta JavaScript pertsonalizatua erabili haien funtzionaltasuna guztiz desgaitzeko.<a>
tabindex="-1"
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1" aria-disabled="true">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item active" aria-current="page">
<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>
Aukeran, aingura aktiboak edo desgaituak alda ditzakezu <span>
, edo aingura alde batera utzi aurreko/hurrengo gezien kasuan, klikaren funtzionaltasuna kentzeko eta teklatuaren fokua saihesteko, nahi diren estiloak mantenduz.
<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" aria-current="page">
<span class="page-link">2</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>
Tamaina
Orrialde handiagoa ala txikiagoa al duzu? Gehitu .pagination-lg
edo .pagination-sm
tamaina gehigarrietarako.
<nav aria-label="...">
<ul class="pagination pagination-lg">
<li class="page-item active" aria-current="page">
<span class="page-link">1</span>
</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 active" aria-current="page">
<span class="page-link">1</span>
</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>
Lerrokatzea
Aldatu orrialderatze osagaien lerrokatzea flexbox utilitateekin .
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1" aria-disabled="true">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" aria-disabled="true">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>
Sass
Aldagaiak
$pagination-padding-y: .375rem;
$pagination-padding-x: .75rem;
$pagination-padding-y-sm: .25rem;
$pagination-padding-x-sm: .5rem;
$pagination-padding-y-lg: .75rem;
$pagination-padding-x-lg: 1.5rem;
$pagination-color: $link-color;
$pagination-bg: $white;
$pagination-border-width: $border-width;
$pagination-border-radius: $border-radius;
$pagination-margin-start: -$pagination-border-width;
$pagination-border-color: $gray-300;
$pagination-focus-color: $link-hover-color;
$pagination-focus-bg: $gray-200;
$pagination-focus-box-shadow: $input-btn-focus-box-shadow;
$pagination-focus-outline: 0;
$pagination-hover-color: $link-hover-color;
$pagination-hover-bg: $gray-200;
$pagination-hover-border-color: $gray-300;
$pagination-active-color: $component-active-color;
$pagination-active-bg: $component-active-bg;
$pagination-active-border-color: $pagination-active-bg;
$pagination-disabled-color: $gray-600;
$pagination-disabled-bg: $white;
$pagination-disabled-border-color: $gray-300;
$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
$pagination-border-radius-sm: $border-radius-sm;
$pagination-border-radius-lg: $border-radius-lg;
Mixinak
@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {
.page-link {
padding: $padding-y $padding-x;
@include font-size($font-size);
}
.page-item {
@if $pagination-margin-start == (-$pagination-border-width) {
&:first-child {
.page-link {
@include border-start-radius($border-radius);
}
}
&:last-child {
.page-link {
@include border-end-radius($border-radius);
}
}
} @else {
//Add border-radius to all pageLinks in case they have left margin
.page-link {
@include border-radius($border-radius);
}
}
}
}