नव और टैब
बूटस्ट्रैप के शामिल नेविगेशन घटकों का उपयोग करने के तरीके के लिए दस्तावेज़ीकरण और उदाहरण।
Base nav
बूटस्ट्रैप में उपलब्ध नेविगेशन बेस .nav
क्लास से सक्रिय और अक्षम राज्यों तक सामान्य मार्कअप और शैलियों को साझा करता है। प्रत्येक शैली के बीच स्विच करने के लिए संशोधक वर्ग स्वैप करें।
आधार .nav
घटक फ्लेक्सबॉक्स के साथ बनाया गया है और सभी प्रकार के नेविगेशन घटकों के निर्माण के लिए एक मजबूत आधार प्रदान करता है। इसमें कुछ स्टाइल ओवरराइड (सूचियों के साथ काम करने के लिए), बड़े हिट क्षेत्रों के लिए कुछ लिंक पैडिंग, और बुनियादी अक्षम स्टाइल शामिल हैं।
आधार घटक में कोई राज्य .nav
शामिल नहीं है। .active
निम्नलिखित उदाहरणों में वर्ग शामिल है, मुख्य रूप से यह प्रदर्शित करने के लिए कि यह विशेष वर्ग किसी विशेष स्टाइल को ट्रिगर नहीं करता है।
सक्रिय स्थिति को सहायक तकनीकों तक पहुंचाने के लिए, aria-current
विशेषता का उपयोग करें - page
वर्तमान पृष्ठ के लिए मान का उपयोग करके, या true
किसी सेट में वर्तमान आइटम के लिए।
<ul class="nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
कक्षाओं का उपयोग पूरे समय किया जाता है, इसलिए आपका मार्कअप अत्यधिक लचीला हो सकता है। <ul>
ऊपर की तरह s का उपयोग करें , यदि आपके आइटम का क्रम महत्वपूर्ण है, या किसी तत्व <ol>
के साथ अपना स्वयं का रोल करें । <nav>
क्योंकि .nav
उपयोग display: flex
, एनएवी लिंक एनएवी आइटम के समान व्यवहार करते हैं, लेकिन अतिरिक्त मार्कअप के बिना।
<nav class="nav">
<a class="nav-link active" aria-current="page" href="#">Active</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
उपलब्ध शैलियाँ
.nav
संशोधक और उपयोगिताओं के साथ s घटक की शैली बदलें । आवश्यकतानुसार मिक्स एंड मैच करें, या अपना खुद का निर्माण करें।
क्षैतिज संरेखण
फ्लेक्सबॉक्स उपयोगिताओं के साथ अपनी नौसेना के क्षैतिज संरेखण को बदलें । डिफ़ॉल्ट रूप से, एनएवी बाएं-संरेखित होते हैं, लेकिन आप उन्हें आसानी से केंद्र या दाएं संरेखित में बदल सकते हैं।
के साथ केंद्रित .justify-content-center
:
<ul class="nav justify-content-center">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
के साथ सही-संरेखित .justify-content-end
:
<ul class="nav justify-content-end">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
खड़ा
.flex-column
उपयोगिता के साथ फ्लेक्स आइटम दिशा बदलकर अपने नेविगेशन को ढेर करें । उन्हें कुछ व्यूपोर्ट पर स्टैक करने की आवश्यकता है लेकिन दूसरों को नहीं? प्रतिक्रियाशील संस्करणों का उपयोग करें (उदा., .flex-sm-column
).
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
<ul>
हमेशा की तरह, बिना s के भी लंबवत नेविगेशन संभव है।
<nav class="nav flex-column">
<a class="nav-link active" aria-current="page" href="#">Active</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
टैब
ऊपर से मूल नौसेना लेता है और .nav-tabs
एक टैब्ड इंटरफ़ेस उत्पन्न करने के लिए कक्षा जोड़ता है। हमारे टैब जावास्क्रिप्ट प्लगइन के साथ टैब करने योग्य क्षेत्र बनाने के लिए उनका उपयोग करें ।
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
गोलियाँ
वही HTML लें, लेकिन .nav-pills
इसके बजाय उपयोग करें:
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
भरें और औचित्य दें
.nav
अपनी सामग्री को दो संशोधक वर्गों में से एक पूर्ण उपलब्ध चौड़ाई का विस्तार करने के लिए बाध्य करें । अपने .nav-item
s के साथ सभी उपलब्ध स्थान को आनुपातिक रूप से भरने के लिए, का उपयोग करें .nav-fill
। ध्यान दें कि सभी क्षैतिज स्थान पर कब्जा है, लेकिन प्रत्येक एनएवी आइटम की चौड़ाई समान नहीं है।
<ul class="nav nav-pills nav-fill">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Much longer nav link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
-आधारित नेविगेशन का उपयोग करते समय <nav>
, आप सुरक्षित रूप से छोड़ सकते हैं .nav-item
क्योंकि केवल .nav-link
स्टाइलिंग <a>
तत्वों के लिए आवश्यक है।
<nav class="nav nav-pills nav-fill">
<a class="nav-link active" aria-current="page" href="#">Active</a>
<a class="nav-link" href="#">Much longer nav link</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
समान-चौड़ाई वाले तत्वों के लिए, उपयोग करें .nav-justified
। सभी क्षैतिज स्थान एनएवी लिंक द्वारा कब्जा कर लिए जाएंगे, लेकिन .nav-fill
उपरोक्त के विपरीत, प्रत्येक एनएवी आइटम की चौड़ाई समान होगी।
<ul class="nav nav-pills nav-justified">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Much longer nav link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
एक आधारित नेविगेशन .nav-fill
का उपयोग करने वाले उदाहरण के समान ।<nav>
<nav class="nav nav-pills nav-justified">
<a class="nav-link active" aria-current="page" href="#">Active</a>
<a class="nav-link" href="#">Much longer nav link</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
फ्लेक्स उपयोगिताओं के साथ कार्य करना
यदि आपको उत्तरदायी एनएवी विविधताओं की आवश्यकता है, तो फ्लेक्सबॉक्स उपयोगिताओं की एक श्रृंखला का उपयोग करने पर विचार करें । अधिक वर्बोज़ होने पर, ये उपयोगिताओं उत्तरदायी ब्रेकपॉइंट्स में अधिक अनुकूलन प्रदान करती हैं। नीचे दिए गए उदाहरण में, हमारी नौसेना सबसे कम ब्रेकपॉइंट पर खड़ी होगी, फिर एक क्षैतिज लेआउट के अनुकूल होगी जो छोटे ब्रेकपॉइंट से शुरू होने वाली उपलब्ध चौड़ाई को भरती है।
<nav class="nav nav-pills flex-column flex-sm-row">
<a class="flex-sm-fill text-sm-center nav-link active" aria-current="page" href="#">Active</a>
<a class="flex-sm-fill text-sm-center nav-link" href="#">Longer nav link</a>
<a class="flex-sm-fill text-sm-center nav-link" href="#">Link</a>
<a class="flex-sm-fill text-sm-center nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
सुलभता के संबंध में
role="navigation"
यदि आप नेविगेशन बार प्रदान करने के लिए एनएवी का उपयोग कर रहे हैं, तो के सबसे तार्किक पैरेंट कंटेनर में जोड़ना सुनिश्चित करें , या संपूर्ण नेविगेशन के चारों ओर एक तत्व <ul>
लपेटें । <nav>
भूमिका को स्वयं में न जोड़ें <ul>
, क्योंकि इससे सहायक तकनीकों द्वारा इसे वास्तविक सूची के रूप में घोषित किए जाने से रोका जा सकेगा।
ध्यान दें कि नेविगेशन बार, भले ही .nav-tabs
कक्षा के साथ टैब के रूप में दृष्टिगत रूप से स्टाइल किए गए हों, उन्हें , या विशेषताएँ नहीं दी जानी चाहिए। ये केवल डायनेमिक टैब्ड इंटरफेस के लिए उपयुक्त हैं, जैसा कि WAI ARIA ऑथरिंग प्रैक्टिस में वर्णित है । एक उदाहरण के लिए इस खंड में गतिशील टैब्ड इंटरफेस के लिए जावास्क्रिप्ट व्यवहार देखें । डायनेमिक टैब्ड इंटरफेस पर विशेषता आवश्यक नहीं है क्योंकि हमारी जावास्क्रिप्ट सक्रिय टैब पर जोड़कर चयनित स्थिति को संभालती है।role="tablist"
role="tab"
role="tabpanel"
aria-current
aria-selected="true"
ड्रॉपडाउन का उपयोग करना
कुछ अतिरिक्त HTML और ड्रॉपडाउन JavaScript प्लगइन के साथ ड्रॉपडाउन मेनू जोड़ें ।
ड्रॉपडाउन वाले टैब
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
ड्रॉपडाउन के साथ गोलियां
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
सास
चर
$nav-link-padding-y: .5rem;
$nav-link-padding-x: 1rem;
$nav-link-font-size: null;
$nav-link-font-weight: null;
$nav-link-color: $link-color;
$nav-link-hover-color: $link-hover-color;
$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
$nav-link-disabled-color: $gray-600;
$nav-tabs-border-color: $gray-300;
$nav-tabs-border-width: $border-width;
$nav-tabs-border-radius: $border-radius;
$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color;
$nav-tabs-link-active-color: $gray-700;
$nav-tabs-link-active-bg: $body-bg;
$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg;
$nav-pills-border-radius: $border-radius;
$nav-pills-link-active-color: $component-active-color;
$nav-pills-link-active-bg: $component-active-bg;
जावास्क्रिप्ट व्यवहार
bootstrap.js
स्थानीय सामग्री के टैब करने योग्य पैन बनाने के लिए हमारे नेविगेशनल टैब और गोलियों का विस्तार करने के लिए टैब जावास्क्रिप्ट प्लगइन का उपयोग करें- इसे व्यक्तिगत रूप से या संकलित फ़ाइल के माध्यम से शामिल करें।
डायनेमिक टैब्ड इंटरफेस, जैसा कि WAI ARIA ऑथरिंग प्रैक्टिस में वर्णित है role="tablist"
, role="tab"
को सहायक तकनीकों (जैसे स्क्रीन रीडर) के उपयोगकर्ताओं को उनकी संरचना, कार्यक्षमता और वर्तमान स्थिति से अवगत कराने के लिए role="tabpanel"
अतिरिक्त विशेषताओं की आवश्यकता होती है । aria-
सर्वोत्तम अभ्यास के रूप में, हम <button>
टैब के लिए तत्वों का उपयोग करने की सलाह देते हैं, क्योंकि ये ऐसे नियंत्रण हैं जो किसी नए पृष्ठ या स्थान पर नेविगेट करने वाले लिंक के बजाय एक गतिशील परिवर्तन को ट्रिगर करते हैं।
ध्यान दें कि डायनेमिक टैब्ड इंटरफेस में ड्रॉपडाउन मेनू नहीं होना चाहिए , क्योंकि इससे उपयोगिता और पहुंच दोनों समस्याएं होती हैं। उपयोगिता के दृष्टिकोण से, यह तथ्य कि वर्तमान में प्रदर्शित टैब का ट्रिगर तत्व तुरंत दिखाई नहीं दे रहा है (क्योंकि यह बंद ड्रॉपडाउन मेनू के अंदर है) भ्रम पैदा कर सकता है। पहुंच के दृष्टिकोण से, इस प्रकार के निर्माण को मानक WAI ARIA पैटर्न में मैप करने का कोई समझदार तरीका नहीं है, जिसका अर्थ है कि इसे सहायक तकनीकों के उपयोगकर्ताओं के लिए आसानी से समझने योग्य नहीं बनाया जा सकता है।
यह कुछ प्लेसहोल्डर सामग्री है जो होम टैब की संबद्ध सामग्री है। दूसरे टैब पर क्लिक करने से इस टैब की दृश्यता अगले के लिए टॉगल हो जाएगी। टैब जावास्क्रिप्ट सामग्री दृश्यता और स्टाइल को नियंत्रित करने के लिए कक्षाओं को स्वैप करता है। आप इसे टैब, गोलियों और किसी भी अन्य- .nav
संचालित नेविगेशन के साथ उपयोग कर सकते हैं।
This is some placeholder content the Profile tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav
-powered navigation.
This is some placeholder content the Contact tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav
-powered navigation.
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="contact-tab" data-bs-toggle="tab" data-bs-target="#contact" type="button" role="tab" aria-controls="contact" aria-selected="false">Contact</button>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
<div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
<div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">...</div>
</div>
आपकी ज़रूरतों को पूरा करने में मदद करने के लिए, यह <ul>
-आधारित मार्कअप के साथ काम करता है, जैसा कि ऊपर दिखाया गया है, या किसी भी मनमाने ढंग से "अपना खुद का रोल करें" मार्कअप के साथ काम करता है। ध्यान दें कि यदि आप का उपयोग कर रहे हैं <nav>
, तो आपको इसमें सीधे नहीं जोड़ना चाहिए role="tablist"
, क्योंकि यह नेविगेशन लैंडमार्क के रूप में तत्व की मूल भूमिका को ओवरराइड कर देगा। इसके बजाय, एक वैकल्पिक तत्व पर स्विच करें (नीचे दिए गए उदाहरण में, एक simple ) और इसके चारों ओर <div>
लपेटें ।<nav>
<nav>
<div class="nav nav-tabs" id="nav-tab" role="tablist">
<button class="nav-link active" id="nav-home-tab" data-bs-toggle="tab" data-bs-target="#nav-home" type="button" role="tab" aria-controls="nav-home" aria-selected="true">Home</button>
<button class="nav-link" id="nav-profile-tab" data-bs-toggle="tab" data-bs-target="#nav-profile" type="button" role="tab" aria-controls="nav-profile" aria-selected="false">Profile</button>
<button class="nav-link" id="nav-contact-tab" data-bs-toggle="tab" data-bs-target="#nav-contact" type="button" role="tab" aria-controls="nav-contact" aria-selected="false">Contact</button>
</div>
</nav>
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">...</div>
<div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">...</div>
<div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab">...</div>
</div>
टैब प्लगइन गोलियों के साथ भी काम करता है।
यह कुछ प्लेसहोल्डर सामग्री है जो होम टैब की संबद्ध सामग्री है। दूसरे टैब पर क्लिक करने से इस टैब की दृश्यता अगले के लिए टॉगल हो जाएगी। टैब जावास्क्रिप्ट सामग्री दृश्यता और स्टाइल को नियंत्रित करने के लिए कक्षाओं को स्वैप करता है। आप इसे टैब, गोलियों और किसी भी अन्य- .nav
संचालित नेविगेशन के साथ उपयोग कर सकते हैं।
This is some placeholder content the Profile tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav
-powered navigation.
This is some placeholder content the Contact tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav
-powered navigation.
<ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="pills-home-tab" data-bs-toggle="pill" data-bs-target="#pills-home" type="button" role="tab" aria-controls="pills-home" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="pills-profile-tab" data-bs-toggle="pill" data-bs-target="#pills-profile" type="button" role="tab" aria-controls="pills-profile" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="pills-contact-tab" data-bs-toggle="pill" data-bs-target="#pills-contact" type="button" role="tab" aria-controls="pills-contact" aria-selected="false">Contact</button>
</li>
</ul>
<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">...</div>
<div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">...</div>
<div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab">...</div>
</div>
और ऊर्ध्वाधर गोलियों के साथ।
यह कुछ प्लेसहोल्डर सामग्री है जो होम टैब की संबद्ध सामग्री है। दूसरे टैब पर क्लिक करने से इस टैब की दृश्यता अगले के लिए टॉगल हो जाएगी। टैब जावास्क्रिप्ट सामग्री दृश्यता और स्टाइल को नियंत्रित करने के लिए कक्षाओं को स्वैप करता है। आप इसे टैब, गोलियों और किसी भी अन्य- .nav
संचालित नेविगेशन के साथ उपयोग कर सकते हैं।
This is some placeholder content the Profile tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav
-powered navigation.
This is some placeholder content the Messages tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav
-powered navigation.
This is some placeholder content the Settings tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav
-powered navigation.
<div class="d-flex align-items-start">
<div class="nav flex-column nav-pills me-3" id="v-pills-tab" role="tablist" aria-orientation="vertical">
<button class="nav-link active" id="v-pills-home-tab" data-bs-toggle="pill" data-bs-target="#v-pills-home" type="button" role="tab" aria-controls="v-pills-home" aria-selected="true">Home</button>
<button class="nav-link" id="v-pills-profile-tab" data-bs-toggle="pill" data-bs-target="#v-pills-profile" type="button" role="tab" aria-controls="v-pills-profile" aria-selected="false">Profile</button>
<button class="nav-link" id="v-pills-messages-tab" data-bs-toggle="pill" data-bs-target="#v-pills-messages" type="button" role="tab" aria-controls="v-pills-messages" aria-selected="false">Messages</button>
<button class="nav-link" id="v-pills-settings-tab" data-bs-toggle="pill" data-bs-target="#v-pills-settings" type="button" role="tab" aria-controls="v-pills-settings" aria-selected="false">Settings</button>
</div>
<div class="tab-content" id="v-pills-tabContent">
<div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">...</div>
<div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">...</div>
<div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">...</div>
<div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">...</div>
</div>
</div>
डेटा विशेषताओं का उपयोग करना
आप किसी भी जावास्क्रिप्ट को लिखे बिना एक टैब या गोली नेविगेशन को केवल निर्दिष्ट करके data-bs-toggle="tab"
या data-bs-toggle="pill"
किसी तत्व पर सक्रिय कर सकते हैं। .nav-tabs
या पर इन डेटा विशेषताओं का उपयोग करें .nav-pills
।
<!-- Nav tabs -->
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="messages-tab" data-bs-toggle="tab" data-bs-target="#messages" type="button" role="tab" aria-controls="messages" aria-selected="false">Messages</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="settings-tab" data-bs-toggle="tab" data-bs-target="#settings" type="button" role="tab" aria-controls="settings" aria-selected="false">Settings</button>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
<div class="tab-pane" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
<div class="tab-pane" id="messages" role="tabpanel" aria-labelledby="messages-tab">...</div>
<div class="tab-pane" id="settings" role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>
जावास्क्रिप्ट के माध्यम से
जावास्क्रिप्ट के माध्यम से टैब करने योग्य टैब सक्षम करें (प्रत्येक टैब को अलग-अलग सक्रिय करने की आवश्यकता है):
var triggerTabList = [].slice.call(document.querySelectorAll('#myTab a'))
triggerTabList.forEach(function (triggerEl) {
var tabTrigger = new bootstrap.Tab(triggerEl)
triggerEl.addEventListener('click', function (event) {
event.preventDefault()
tabTrigger.show()
})
})
आप अलग-अलग टैब को कई तरह से सक्रिय कर सकते हैं:
var triggerEl = document.querySelector('#myTab a[href="#profile"]')
bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
var triggerFirstTabEl = document.querySelector('#myTab li:first-child a')
bootstrap.Tab.getInstance(triggerFirstTabEl).show() // Select first tab
फीका प्रभाव
टैब को फीका करने के लिए, .fade
प्रत्येक में जोड़ें .tab-pane
. पहले टैब फलक को भी .show
प्रारंभिक सामग्री को दृश्यमान बनाना होगा।
<div class="tab-content">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
<div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
<div class="tab-pane fade" id="messages" role="tabpanel" aria-labelledby="messages-tab">...</div>
<div class="tab-pane fade" id="settings" role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>
तरीकों
अतुल्यकालिक तरीके और संक्रमण
सभी एपीआई विधियाँ अतुल्यकालिक हैं और एक संक्रमण शुरू करती हैं । ट्रांज़िशन शुरू होते ही वे कॉलर के पास वापस आ जाते हैं लेकिन उसके समाप्त होने से पहले । इसके अलावा, एक संक्रमण घटक पर एक विधि कॉल को नजरअंदाज कर दिया जाएगा ।
constructor
एक टैब तत्व और सामग्री कंटेनर को सक्रिय करता है। टैब में या तो एक होना चाहिए data-bs-target
या, यदि लिंक का उपयोग कर रहे हैं, तो एक href
विशेषता, DOM में एक कंटेनर नोड को लक्षित करना।
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="messages-tab" data-bs-toggle="tab" data-bs-target="#messages" type="button" role="tab" aria-controls="messages" aria-selected="false">Messages</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="settings-tab" data-bs-toggle="tab" data-bs-target="#settings" type="button" role="tab" aria-controls="settings" aria-selected="false">Settings</button>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
<div class="tab-pane" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
<div class="tab-pane" id="messages" role="tabpanel" aria-labelledby="messages-tab">...</div>
<div class="tab-pane" id="settings" role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>
<script>
var firstTabEl = document.querySelector('#myTab li:last-child a')
var firstTab = new bootstrap.Tab(firstTabEl)
firstTab.show()
</script>
प्रदर्शन
दिए गए टैब का चयन करता है और उससे संबंधित फलक दिखाता है। कोई अन्य टैब जिसे पहले चुना गया था, अचयनित हो जाता है और उसका संबद्ध फलक छिपा होता है। टैब फलक वास्तव में दिखाए जाने से पहले कॉलर को लौटाता है (यानी shown.bs.tab
घटना होने से पहले)।
var someTabTriggerEl = document.querySelector('#someTabTrigger')
var tab = new bootstrap.Tab(someTabTriggerEl)
tab.show()
निपटाने
किसी तत्व के टैब को नष्ट कर देता है।
दृष्टांत लो
स्टेटिक विधि जो आपको डीओएम तत्व से जुड़े टैब इंस्टेंस को प्राप्त करने की अनुमति देती है
var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getInstance(triggerEl) // Returns a Bootstrap tab instance
getOrCreateInstance
स्टेटिक विधि जो आपको डीओएम तत्व से जुड़े टैब इंस्टेंस को प्राप्त करने की अनुमति देती है, या यदि इसे प्रारंभ नहीं किया गया था तो एक नया बनाएं
var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getOrCreateInstance(triggerEl) // Returns a Bootstrap tab instance
आयोजन
एक नया टैब दिखाते समय, ईवेंट निम्न क्रम में सक्रिय होते हैं:
hide.bs.tab
(वर्तमान सक्रिय टैब पर)show.bs.tab
(होने वाले टैब पर)hidden.bs.tab
(पिछले सक्रिय टैब पर,hide.bs.tab
ईवेंट के समान ही)shown.bs.tab
(नए सक्रिय हाल-दिखाए गए टैब पर,show.bs.tab
ईवेंट के समान ही)
यदि कोई टैब पहले से सक्रिय नहीं था, तो hide.bs.tab
और hidden.bs.tab
ईवेंट सक्रिय नहीं होंगे।
घटना प्रकार | विवरण |
---|---|
show.bs.tab |
यह घटना टैब शो पर सक्रिय होती है, लेकिन नया टैब दिखाए जाने से पहले। क्रमशः सक्रिय टैब और पिछले सक्रिय टैब (यदि उपलब्ध हो) का उपयोग करें event.target और लक्षित करें।event.relatedTarget |
shown.bs.tab |
एक टैब दिखाए जाने के बाद यह ईवेंट टैब शो पर सक्रिय होता है। क्रमशः सक्रिय टैब और पिछले सक्रिय टैब (यदि उपलब्ध हो) का उपयोग करें event.target और लक्षित करें।event.relatedTarget |
hide.bs.tab |
यह घटना तब सक्रिय होती है जब एक नया टैब दिखाया जाना है (और इस प्रकार पिछला सक्रिय टैब छिपाया जाना है)। वर्तमान सक्रिय टैब और नए शीघ्र-से-सक्रिय टैब को क्रमशः उपयोग event.target और लक्षित करने के लिए।event.relatedTarget |
hidden.bs.tab |
एक नया टैब दिखाए जाने के बाद यह घटना सक्रिय होती है (और इस प्रकार पिछला सक्रिय टैब छिपा हुआ है)। क्रमशः पिछले सक्रिय टैब और नए सक्रिय टैब का उपयोग करें event.target और लक्षित करें।event.relatedTarget |
var tabEl = document.querySelector('button[data-bs-toggle="tab"]')
tabEl.addEventListener('shown.bs.tab', function (event) {
event.target // newly activated tab
event.relatedTarget // previous active tab
})