Беттеу
Бірнеше беттерде қатысты мазмұнның қатарын көрсету үшін беттеуді көрсетуге арналған құжаттама және мысалдар.
Шолу
Біз беттеу үшін байланыстырылған сілтемелердің үлкен блогын қолданамыз, бұл сілтемелерді жіберіп алуды қиындатады және оңай масштабталады - барлығы үлкен әсер ету аймақтарын қамтамасыз етеді. Беттеу HTML тізім элементтерімен құрастырылған, сондықтан экраннан оқу құралдары қол жетімді сілтемелердің санын жариялай алады. <nav>
Оны экраннан оқу құралдарына және басқа көмекші технологияларға арналған шарлау бөлімі ретінде анықтау үшін орау элементін пайдаланыңыз .
Бұған қоса, беттерде бірнеше шарлау бөлімдері болуы мүмкін болғандықтан, оның мақсатын көрсету үшін сипаттама aria-label
берген жөн. <nav>
Мысалы, беттеу құрамдас бөлігі іздеу нәтижелерінің жиыны арасында шарлау үшін пайдаланылса, сәйкес белгі болуы мүмкін 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>
Белгішелермен жұмыс
Кейбір беттеу сілтемелері үшін мәтіннің орнына белгішені немесе таңбаны пайдаланғыңыз келе ме? aria
Төлсипаттары бар тиісті экранды оқу құралын қолдауды қамтамасыз етіңіз .
<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>
Өшірілген және белсенді күйлер
Беттеу сілтемелері әртүрлі жағдайлар үшін теңшеуге болады. Басылмайтын .disabled
сілтемелер үшін және .active
ағымдағы бетті көрсету үшін пайдаланыңыз.
.disabled
Сынып s сілтеме функциясын өшіруге тырысқаныменpointer-events: none
, бұл CSS сипаты әлі стандартталмаған және пернетақта шарлауын есепке алмайды. Осылайша, сіз әрқашан өшірілген сілтемелерді қосуыңыз керек және олардың функционалдығын толығымен өшіру үшін теңшелетін JavaScript пайдалануыңыз керек.<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>
<span>
Қажетті мәнерлерді сақтай отырып, басу мүмкіндігін жою және пернетақта фокусын болдырмау үшін белсенді немесе өшірілген якорьдерді таңдау бойынша ауыстыра аласыз немесе алдыңғы/келесі көрсеткілер жағдайында якорьді өткізіп жібере аласыз.
<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>
Өлшемді анықтау
Үлкенірек немесе кішірек беттеуді қалайсыз ба? Қосыңыз .pagination-lg
немесе .pagination-sm
қосымша өлшемдер үшін.
<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>
Туралау
Беттеу құрамдастарының туралануын flexbox утилиталарымен өзгертіңіз .
<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>
Сасс
Айнымалылар
$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;
Миксиндер
@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);
}
}
}
}