પૃષ્ઠ ક્રમાંકન
બહુવિધ પૃષ્ઠો પર સંબંધિત સામગ્રીની શ્રેણી અસ્તિત્વમાં છે તે દર્શાવવા માટે પૃષ્ઠ ક્રમાંકન દર્શાવવા માટે દસ્તાવેજીકરણ અને ઉદાહરણો.
ઝાંખી
અમે અમારા પૃષ્ઠ ક્રમાંકન માટે કનેક્ટેડ લિંક્સના મોટા બ્લોકનો ઉપયોગ કરીએ છીએ, લિંક્સને ચૂકી જવી મુશ્કેલ અને સરળતાથી સ્કેલેબલ બનાવીએ છીએ - આ બધું મોટા હિટ વિસ્તારો પ્રદાન કરતી વખતે. પૃષ્ઠ ક્રમાંકન સૂચિ 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
ઉપયોગ કરે<a>
છે , તે CSS ગુણધર્મ હજી પ્રમાણિત નથી અને કીબોર્ડ નેવિગેશન માટે જવાબદાર નથી. જેમ કે, તમારે હંમેશા tabindex="-1"
અક્ષમ કરેલ લિંક્સ ઉમેરવી જોઈએ અને તેમની કાર્યક્ષમતાને સંપૂર્ણપણે અક્ષમ કરવા માટે કસ્ટમ JavaScript નો ઉપયોગ કરવો જોઈએ.
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
<a class="page-link">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>
ગોઠવણી
ફ્લેક્સબોક્સ ઉપયોગિતાઓ સાથે પૃષ્ઠ ક્રમાંકન ઘટકોની ગોઠવણી બદલો . ઉદાહરણ તરીકે, સાથે .justify-content-center
:
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item disabled">
<a class="page-link">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>
અથવા સાથે .justify-content-end
:
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<li class="page-item disabled">
<a class="page-link">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>
CSS
ચલો
v5.2.0 માં ઉમેરાયેલબુટસ્ટ્રેપના વિકસતા CSS ચલોના અભિગમના ભાગરૂપે, પૃષ્ઠ ક્રમાંકન હવે .pagination
ઉન્નત રીઅલ-ટાઇમ કસ્ટમાઇઝેશન માટે સ્થાનિક CSS ચલોનો ઉપયોગ કરે છે. CSS ચલો માટેના મૂલ્યો Sass દ્વારા સેટ કરવામાં આવ્યા છે, તેથી Sass કસ્ટમાઇઝેશન હજુ પણ સપોર્ટેડ છે.
--#{$prefix}pagination-padding-x: #{$pagination-padding-x};
--#{$prefix}pagination-padding-y: #{$pagination-padding-y};
@include rfs($pagination-font-size, --#{$prefix}pagination-font-size);
--#{$prefix}pagination-color: #{$pagination-color};
--#{$prefix}pagination-bg: #{$pagination-bg};
--#{$prefix}pagination-border-width: #{$pagination-border-width};
--#{$prefix}pagination-border-color: #{$pagination-border-color};
--#{$prefix}pagination-border-radius: #{$pagination-border-radius};
--#{$prefix}pagination-hover-color: #{$pagination-hover-color};
--#{$prefix}pagination-hover-bg: #{$pagination-hover-bg};
--#{$prefix}pagination-hover-border-color: #{$pagination-hover-border-color};
--#{$prefix}pagination-focus-color: #{$pagination-focus-color};
--#{$prefix}pagination-focus-bg: #{$pagination-focus-bg};
--#{$prefix}pagination-focus-box-shadow: #{$pagination-focus-box-shadow};
--#{$prefix}pagination-active-color: #{$pagination-active-color};
--#{$prefix}pagination-active-bg: #{$pagination-active-bg};
--#{$prefix}pagination-active-border-color: #{$pagination-active-border-color};
--#{$prefix}pagination-disabled-color: #{$pagination-disabled-color};
--#{$prefix}pagination-disabled-bg: #{$pagination-disabled-bg};
--#{$prefix}pagination-disabled-border-color: #{$pagination-disabled-border-color};
Sass ચલો
$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-font-size: $font-size-base;
$pagination-color: var(--#{$prefix}link-color);
$pagination-bg: $white;
$pagination-border-radius: $border-radius;
$pagination-border-width: $border-width;
$pagination-margin-start: ($pagination-border-width * -1);
$pagination-border-color: $gray-300;
$pagination-focus-color: var(--#{$prefix}link-hover-color);
$pagination-focus-bg: $gray-200;
$pagination-focus-box-shadow: $input-btn-focus-box-shadow;
$pagination-focus-outline: 0;
$pagination-hover-color: var(--#{$prefix}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) {
--#{$prefix}pagination-padding-x: #{$padding-x};
--#{$prefix}pagination-padding-y: #{$padding-y};
@include rfs($font-size, --#{$prefix}pagination-font-size);
--#{$prefix}pagination-border-radius: #{$border-radius};
}