पृष्ठ पर अंक लगाना
संबंधित सामग्री की एक श्रृंखला को इंगित करने के लिए पेजिनेशन दिखाने के लिए दस्तावेज़ीकरण और उदाहरण कई पृष्ठों में मौजूद हैं।
अवलोकन
हम अपने पेजिनेशन के लिए कनेक्टेड लिंक्स के एक बड़े ब्लॉक का उपयोग करते हैं, जिससे लिंक्स को मिस करना मुश्किल हो जाता है और आसानी से स्केलेबल हो जाता है - सभी बड़े हिट क्षेत्र प्रदान करते हुए। पृष्ठ पर अंक लगाना सूची 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
वर्ग एस की लिंक कार्यक्षमता को अक्षम करने का प्रयास करने के लिए pointer-events: none
उपयोग करता<a>
है , वह सीएसएस संपत्ति अभी तक मानकीकृत नहीं है और कीबोर्ड नेविगेशन के लिए जिम्मेदार नहीं है। इस प्रकार, आपको हमेशा tabindex="-1"
अक्षम लिंक जोड़ना चाहिए और उनकी कार्यक्षमता को पूरी तरह से अक्षम करने के लिए कस्टम जावास्क्रिप्ट का उपयोग करना चाहिए।
<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>
सीएसएस
चर
v5.2.0 . में जोड़ा गयाबूटस्ट्रैप के विकसित हो रहे सीएसएस चर दृष्टिकोण के हिस्से के रूप में, पेजिनेशन अब .pagination
वास्तविक समय के अनुकूलन के लिए स्थानीय सीएसएस चर का उपयोग करता है। 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};
सास चर
$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};
}