मुख्य सामग्रीवर जा डॉक्स नेव्हिगेशनवर जा
Check
in English

Navs आणि टॅब

बूटस्ट्रॅपचे समाविष्ट नॅव्हिगेशन घटक कसे वापरावे यासाठी दस्तऐवजीकरण आणि उदाहरणे.

बेस एनएव्ही

.navबूटस्ट्रॅपमध्ये उपलब्ध नॅव्हिगेशन बेस क्लासपासून सक्रिय आणि अक्षम राज्यांपर्यंत सामान्य मार्कअप आणि शैली सामायिक करते. प्रत्येक शैली दरम्यान स्विच करण्यासाठी सुधारक वर्ग स्वॅप करा.

बेस .navघटक flexbox सह तयार केला आहे आणि सर्व प्रकारचे नेव्हिगेशन घटक तयार करण्यासाठी मजबूत पाया प्रदान करतो. यात काही शैली ओव्हरराइड्स (याद्यांसह कार्य करण्यासाठी), मोठ्या हिट क्षेत्रांसाठी काही लिंक पॅडिंग आणि मूलभूत अक्षम शैली समाविष्ट आहे.

मूळ .navघटकामध्ये कोणत्याही .activeराज्याचा समावेश नाही. खालील उदाहरणांमध्ये वर्गाचा समावेश आहे, मुख्यतः हे दाखवण्यासाठी की हा विशिष्ट वर्ग कोणत्याही विशेष शैलीला चालना देत नाही.

सक्रिय स्थिती सहाय्यक तंत्रज्ञानापर्यंत पोहोचवण्यासाठी, विशेषता वापरा — वर्तमान पृष्ठासाठी मूल्य aria-currentवापरून किंवा सेटमधील वर्तमान आयटमसाठी.pagetrue

html
<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">Disabled</a>
  </li>
</ul>

वर्ग सर्वत्र वापरले जातात, त्यामुळे तुमचा मार्कअप अतिशय लवचिक असू शकतो. तुमच्या वस्तूंचा क्रम महत्त्वाचा असल्यास, <ul>वरीलप्रमाणे वापरा किंवा एखाद्या घटकासह तुमचे स्वतःचे रोल करा. वापरामुळे , एनएव्ही लिंक्स एनएव्ही आयटम्सप्रमाणेच वागतात, परंतु अतिरिक्त मार्कअपशिवाय.<ol><nav>.navdisplay: flex

html
<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">Disabled</a>
</nav>

उपलब्ध शैली

.navमॉडिफायर्स आणि युटिलिटीजसह s घटकाची शैली बदला . आवश्यकतेनुसार मिसळा आणि जुळवा किंवा स्वतः तयार करा.

क्षैतिज संरेखन

फ्लेक्सबॉक्स युटिलिटीसह तुमच्या एनएव्हीचे क्षैतिज संरेखन बदला . डीफॉल्टनुसार, एनएव्ही डावीकडे संरेखित असतात, परंतु तुम्ही त्यांना सहजपणे मध्यभागी किंवा उजवीकडे संरेखित करू शकता.

यासह केंद्रीत .justify-content-center:

html
<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">Disabled</a>
  </li>
</ul>

यासह उजव��कडे संरेखित .justify-content-end:

html
<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">Disabled</a>
  </li>
</ul>

उभ्या

.flex-columnयुटिलिटीसह फ्लेक्स आयटमची दिशा बदलून तुमचे नेव्हिगेशन स्टॅक करा . त्यांना काही व्ह्यूपोर्टवर स्टॅक करणे आवश्यक आहे परंतु इतरांवर नाही? प्रतिसादात्मक आवृत्त्या वापरा (उदा., .flex-sm-column).

html
<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">Disabled</a>
  </li>
</ul>

नेहमीप्रमाणे, <ul>s शिवाय उभ्या नेव्हिगेशन शक्य आहे.

html
<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">Disabled</a>
</nav>

टॅब

वरून मूलभूत एनएव्ही घेते आणि .nav-tabsटॅब केलेला इंटरफेस तयार करण्यासाठी वर्ग जोडते. आमच्या टॅब JavaScript प्लगइनसह टॅब करण्यायोग्य प्रदेश तयार करण्यासाठी त्यांचा वापर करा .

html
<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">Disabled</a>
  </li>
</ul>

गोळ्या

तेच HTML घ्या, परंतु .nav-pillsत्याऐवजी वापरा:

html
<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">Disabled</a>
  </li>
</ul>

भरा आणि न्याय्य करा

.navदोन मॉडिफायर क्लासेसपैकी एक पूर्ण उपलब्ध रुंदी वाढवण्यासाठी तुमच्या सामग्रीची सक्ती करा . तुमच्या .nav-items ने सर्व उपलब्ध जागा प्रमाणानुसार भरण्यासाठी, वापरा .nav-fill. लक्षात घ्या की सर्व क्षैतिज जागा व्यापलेली आहे, परंतु प्रत्येक एनएव्ही आयटमची रुंदी समान नाही.

html
<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">Disabled</a>
  </li>
</ul>

आधारित नेव्हिगेशन वापरताना <nav>, तुम्ही सुरक्षितपणे वगळू शकता .nav-itemकारण केवळ .nav-linkस्टाइलिंग <a>घटकांसाठी आवश्यक आहे.

html
<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">Disabled</a>
</nav>

समान-रुंदीच्या घटकांसाठी, वापरा .nav-justified. सर्व क्षैतिज जागा एनएव्ही लिंकद्वारे व्यापली जाईल, परंतु .nav-fillवरीलप्रमाणे, प्रत्येक एनएव्ही आयटमची रुंदी समान असेल.

html
<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">Disabled</a>
  </li>
</ul>

आधारित नेव्हिगेशन वापरून .nav-fillउदाहरणाप्रमाणेच .<nav>

html
<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">Disabled</a>
</nav>

फ्लेक्स युटिलिटीजसह कार्य करणे

तुम्हाला रिस्पॉन्सिव्ह एनएव्ही व्हेरिएशनची आवश्यकता असल्यास, फ्लेक्सबॉक्स युटिलिटीजची मालिका वापरण्याचा विचार करा . अधिक वर्बोस असताना, या युटिलिटीज प्रतिसादात्मक ब्रेकपॉइंट्सवर अधिक सानुकूलन ऑफर करतात. खालील उदाहरणामध्ये, आमची एनएव्ही सर्वात कमी ब्रेकपॉइंटवर स्टॅक केली जाईल, नंतर लहान ब्रेकपॉइंटपासून उपलब्ध रुंदी भरणाऱ्या क्षैतिज लेआउटशी जुळवून घ्या.

html
<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">Disabled</a>
</nav>

सुलभतेबाबत

जर तुम्ही नेव्हिगेशन बार प्रदान करण्यासाठी navs वापरत असाल तर, role="navigation"च्या सर्वात तार्किक मूळ कंटेनरमध्ये एक जोडण्याचे सुनिश्चित करा किंवा संपूर्ण नेव्हिगेशनभोवती <ul>एक घटक गुंडाळा. <nav>भूमिका स्वतःमध्ये जोडू नका <ul>, कारण हे सहाय्यक तंत्रज्ञानाद्वारे वास्तविक सूची म्हणून घोषित होण्यापासून प्रतिबंधित करेल.

लक्षात घ्या की नेव्हिगेशन बार, जरी .nav-tabsक्लाससह टॅब म्हणून दृश्यमानपणे शैलीबद्ध केले असले तरी , , किंवा विशेषता देऊ नयेत . हे फक्त डायनॅमिक टॅब केलेल्या इंटरफेससाठी योग्य आहेत, जसे ARIA ऑथरिंग प्रॅक्टिसेस गाइड टॅब पॅटर्नमध्ये वर्णन केले आहे . उदाहरणासाठी या विभागात डायनॅमिक टॅब केलेल्या इंटरफेससाठी JavaScript वर्तन पहा . डायनॅमिक टॅब केलेल्या इंटरफेसवर विशेषता आवश्यक नाही कारण आमची JavaScript सक्रिय टॅबवर जोडून निवडलेली स्थिती हाताळते .role="tablist"role="tab"role="tabpanel"aria-currentaria-selected="true"

ड्रॉपडाउन वापरणे

थोडे अतिरिक्त HTML आणि ड्रॉपडाउन JavaScript प्लगइनसह ड्रॉपडाउन मेनू जोडा .

ड्रॉपडाउनसह टॅब

html
<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">Disabled</a>
  </li>
</ul>

ड्रॉपडाउनसह गोळ्या

html
<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">Disabled</a>
  </li>
</ul>

CSS

चल

v5.2.0 मध्ये जोडले

बूटस्ट्रॅपच्या विकसित होत असलेल्या CSS व्हेरिएबल्सच्या दृष्टिकोनाचा भाग म्हणून, navs आता .nav, .nav-tabs, आणि .nav-pillsवर्धित रिअल-टाइम कस्टमायझेशनसाठी स्थानिक CSS व्हेरिएबल्स वापरतात. CSS व्हेरिएबल्सची मूल्ये Sass द्वारे सेट केली जातात, त्यामुळे Sass सानुकूलनाला अजूनही सपोर्ट आहे.

बेस .navक्लासवर:

  --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};
  --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};
  @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);
  --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};
  --#{$prefix}nav-link-color: #{$nav-link-color};
  --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};
  --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};
  

.nav-tabsसुधारक वर्गावर :

  --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};
  --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};
  --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};
  --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};
  --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};
  --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};
  --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};
  

.nav-pillsसुधारक वर्गावर :

  --#{$prefix}nav-pills-border-radius: #{$nav-pills-border-radius};
  --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};
  --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};
  

Sass चल

$nav-link-padding-y:                .5rem;
$nav-link-padding-x:                1rem;
$nav-link-font-size:                null;
$nav-link-font-weight:              null;
$nav-link-color:                    var(--#{$prefix}link-color);
$nav-link-hover-color:              var(--#{$prefix}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;

JavaScript वर्तन

टॅब JavaScript प्लगइन वापरा—त्याला वैयक्तिकरित्या किंवा संकलित bootstrap.jsफाइलद्वारे समाविष्ट करा—स्थानिक सामग्रीचे टॅब करण्यायोग्य फलक तयार करण्यासाठी आमचे नॅव्हिगेशनल टॅब आणि गोळ्यांचा विस्तार करण्यासाठी.

ही काही प्लेसहोल्डर सामग्री आहे जी होम टॅबशी संबंधित सामग्री आहे. दुसर्‍या टॅबवर क्लिक केल्याने पुढील टॅबची दृश्यमानता टॉगल होईल. टॅब JavaScript सामग्री दृश्यमानता आणि शैली नियंत्रित करण्यासाठी वर्ग बदलते. तुम्ही ते टॅब, गोळ्या आणि इतर कोणत्याही-सक्षम .navनेव्हिगेशनसह वापरू शकता.

ही काही प्लेसहोल्डर सामग्री आहे जी प्रोफाइल टॅबशी संबंधित सामग्री आहे. दुसर्‍या टॅबवर क्लिक केल्याने पुढील टॅबची दृश्यमानता टॉगल होईल. टॅब JavaScript सामग्री दृश्यमानता आणि शैली नियंत्रित करण्यासाठी वर्ग बदलते. तुम्ही ते टॅब, गोळ्या आणि इतर कोणत्याही-सक्षम .navनेव्हिगेशनसह वापरू शकता.

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.

This is some placeholder content the Disabled tab's associated content.

<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-tab-pane" type="button" role="tab" aria-controls="home-tab-pane" 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-tab-pane" type="button" role="tab" aria-controls="profile-tab-pane" 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-tab-pane" type="button" role="tab" aria-controls="contact-tab-pane" aria-selected="false">Contact</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="disabled-tab" data-bs-toggle="tab" data-bs-target="#disabled-tab-pane" type="button" role="tab" aria-controls="disabled-tab-pane" aria-selected="false" disabled>Disabled</button>
  </li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane fade show active" id="home-tab-pane" role="tabpanel" aria-labelledby="home-tab" tabindex="0">...</div>
  <div class="tab-pane fade" id="profile-tab-pane" role="tabpanel" aria-labelledby="profile-tab" tabindex="0">...</div>
  <div class="tab-pane fade" id="contact-tab-pane" role="tabpanel" aria-labelledby="contact-tab" tabindex="0">...</div>
  <div class="tab-pane fade" id="disabled-tab-pane" role="tabpanel" aria-labelledby="disabled-tab" tabindex="0">...</div>
</div>

तुमच्‍या गरजा पूर्ण करण्‍यासाठी, हे <ul>वर दर्शविल्‍याप्रमाणे -आधारित मार्कअपसह किंवा कोणत्याही अनियंत्रित "तुमचे स्‍वत:चे" मार्कअपसह कार्य करते. लक्षात घ्या की तुम्ही वापरत असल्यास <nav>, तुम्ही त्यात थेट जोडू नये role="tablist", कारण हे नेव्हिगेशन लँडमार्क म्हणून घटकाची मूळ भूमिका ओव्हरराइड करेल. त्याऐवजी, पर्यायी घटकावर स्विच करा (खालील उदाहरणात, एक साधे <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>
    <button class="nav-link" id="nav-disabled-tab" data-bs-toggle="tab" data-bs-target="#nav-disabled" type="button" role="tab" aria-controls="nav-disabled" aria-selected="false" disabled>Disabled</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" tabindex="0">...</div>
  <div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab" tabindex="0">...</div>
  <div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab" tabindex="0">...</div>
  <div class="tab-pane fade" id="nav-disabled" role="tabpanel" aria-labelledby="nav-disabled-tab" tabindex="0">...</div>
</div>

टॅब प्लगइन गोळ्यांसह देखील कार्य करते.

ही काही प्लेसहोल्डर सामग्री आहे जी होम टॅबशी संबंधित सामग्री आहे. दुसर्‍या टॅबवर क्लिक केल्याने पुढील टॅबची दृश्यमानता टॉगल होईल. टॅब JavaScript सामग्री दृश्यमानता आणि शैली नियंत्रित करण्यासाठी वर्ग बदलते. तुम्ही ते टॅब, गोळ्या आणि इतर कोणत्याही-सक्षम .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.

This is some placeholder content the Disabled tab's associated content.

<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>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="pills-disabled-tab" data-bs-toggle="pill" data-bs-target="#pills-disabled" type="button" role="tab" aria-controls="pills-disabled" aria-selected="false" disabled>Disabled</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" tabindex="0">...</div>
  <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab" tabindex="0">...</div>
  <div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab" tabindex="0">...</div>
  <div class="tab-pane fade" id="pills-disabled" role="tabpanel" aria-labelledby="pills-disabled-tab" tabindex="0">...</div>
</div>

आणि उभ्या गोळ्या सह. आदर्शपणे, उभ्या टॅबसाठी, तुम्ही aria-orientation="vertical"टॅब सूची कंटेनरमध्ये देखील जोडले पाहिजे.

ही काही प्लेसहोल्डर सामग्री आहे जी होम टॅबशी संबंधित सामग्री आहे. दुसर्‍या टॅबवर क्लिक केल्याने पुढील टॅबची दृश्यमानता टॉगल होईल. टॅब JavaScript सामग्री दृश्यमानता आणि शैली नियंत्रित करण्यासाठी वर्ग बदलते. तुम्ही ते टॅब, गोळ्या आणि इतर कोणत्याही-सक्षम .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 Disabled tab's associated content.

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-disabled-tab" data-bs-toggle="pill" data-bs-target="#v-pills-disabled" type="button" role="tab" aria-controls="v-pills-disabled" aria-selected="false" disabled>Disabled</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" tabindex="0">...</div>
    <div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab" tabindex="0">...</div>
    <div class="tab-pane fade" id="v-pills-disabled" role="tabpanel" aria-labelledby="v-pills-disabled-tab" tabindex="0">...</div>
    <div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab" tabindex="0">...</div>
    <div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab" tabindex="0">...</div>
  </div>
</div>

प्रवेशयोग्यता

ARIA ऑथरिंग प्रॅक्टिसेस गाइड टॅब पॅटर्नमध्ये वर्णन केल्याप्रमाणे डायनॅमिक टॅब केलेले इंटरफेस, त्यांची रचना, कार्यक्षमता आणि सद्य स्थिती सहाय्यक तंत्रज्ञानाच्या वापरकर्त्यांपर्यंत (जसे की स्क्रीन रीडर) पोहोचवण्यासाठी role="tablist", role="tab", role="tabpanel", आणि अतिरिक्त विशेषता आवश्यक आहेत. aria-सर्वोत्तम सराव म्हणून, आम्ही <button>टॅबसाठी घटक वापरण्याची शिफारस करतो, कारण ही नियंत्रणे आहेत जी डायनॅमिक बदल ट्रिगर करतात, नवीन पृष्ठ किंवा स्थानावर नेव्हिगेट करणार्‍या लिंकऐवजी.

ARIA ऑथरिंग प्रॅक्टिसेस पॅटर्नच्या अनुषंगाने, फक्त सध्या सक्रिय टॅबला कीबोर्ड फोकस प्राप्त होतो. JavaScript प्लगइन सुरू झाल्यावर, ते tabindex="-1"सर्व निष्क्रिय टॅब नियंत्रणांवर सेट होईल. सध्या सक्रिय टॅबवर फोकस झाल्यानंतर, कर्सर की मागील/पुढील टॅब सक्रिय करतात, प्लगइन त्यानुसार रोव्हिंग बदलते. tabindexतथापि, लक्षात घ्या की कर्सर की परस्परसंवादाच्या बाबतीत JavaScript प्लगइन क्षैतिज आणि उभ्या टॅब सूचीमध्ये फरक करत नाही: टॅब सूचीच्या अभिमुखतेकडे दुर्लक्ष करून, वरचा आणि डावा दोन्ही कर्सर मागील टॅबवर जातो आणि खाली आणि उजवा कर्सर जातो. पुढील टॅब.

सर्वसाधारणपणे, कीबोर्ड नेव्हिगेशन सुलभ करण्यासाठी, टॅब पॅनेलमध्ये अर्थपूर्ण सामग्री असलेला पहिला घटक आधीपासून फोकस करण्यायोग्य असल्याशिवाय, टॅब पॅनेल देखील फोकस करण्यायोग्य बनविण्याची शिफारस केली जाते. tabindex="0"JavaScript प्लगइन हा पैलू हाताळण्याचा प्रयत्न करत नाही—जेथे योग्य असेल, तुम्हाला तुमचा मार्कअप जोडून तुमचे टॅब पॅनेल स्पष्टपणे फोकस करण्यायोग्य बनवावे लागतील .
टॅब JavaScript प्लगइन टॅब केलेल्या इंटरफेसला समर्थन देत नाही ज्यात ड्रॉपडाउन मेनू आहेत, कारण यामुळे उपयोगिता आणि प्रवेशयोग्यता दोन्ही समस्या उद्भवतात. वापरण्यायोग्यतेच्या दृष्टीकोनातून, सध्या प्रदर्शित केलेला टॅबचा ट्रिगर घटक त्वरित दृश्यमान नसतो (कारण ते बंद ड्रॉपडाउन मेनूमध्ये आहे) गोंधळ निर्माण करू शकतो. प्रवेशयोग्यतेच्या दृष्टीकोनातून, या प्रकारची रचना मानक WAI ARIA पॅटर्नमध्ये मॅप करण्याचा सध्या कोणताही योग्य मार्ग नाही, याचा अर्थ असा की सहाय्यक तंत्रज्ञानाच्या वापरकर्त्यांना ते सहजपणे समजण्यायोग्य बनवता येत नाही.

डेटा विशेषता वापरणे

तुम्ही कोणतेही JavaScript न लिहिता टॅब किंवा पिल नेव्हिगेशन सक्रिय करू शकता फक्त एक घटक निर्दिष्ट करून 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" tabindex="0">...</div>
  <div class="tab-pane" id="profile" role="tabpanel" aria-labelledby="profile-tab" tabindex="0">...</div>
  <div class="tab-pane" id="messages" role="tabpanel" aria-labelledby="messages-tab" tabindex="0">...</div>
  <div class="tab-pane" id="settings" role="tabpanel" aria-labelledby="settings-tab" tabindex="0">...</div>
</div>

JavaScript द्वारे

JavaScript द्वारे टॅब करण्यायोग्य टॅब सक्षम करा (प्रत्येक टॅब स्वतंत्रपणे सक्रिय करणे आवश्यक आहे):

const triggerTabList = document.querySelectorAll('#myTab button')
triggerTabList.forEach(triggerEl => {
  const tabTrigger = new bootstrap.Tab(triggerEl)

  triggerEl.addEventListener('click', event => {
    event.preventDefault()
    tabTrigger.show()
  })
})

तुम्ही वैयक्तिक टॅब अनेक प्रकारे सक्रिय करू शकता:

const triggerEl = document.querySelector('#myTab button[data-bs-target="#profile"]')
bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name

const triggerFirstTabEl = document.querySelector('#myTab li:first-child button')
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" tabindex="0">...</div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab" tabindex="0">...</div>
  <div class="tab-pane fade" id="messages" role="tabpanel" aria-labelledby="messages-tab" tabindex="0">...</div>
  <div class="tab-pane fade" id="settings" role="tabpanel" aria-labelledby="settings-tab" tabindex="0">...</div>
</div>

पद्धती

असिंक्रोनस पद्धती आणि संक्रमणे

सर्व API पद्धती असिंक्रोनस आहेत आणि एक संक्रमण सुरू करतात . संक्रमण सुरू होताच परंतु ते संपण्यापूर्वी ते कॉलरकडे परत जातात . याव्यतिरिक्त, संक्रमण घटकावरील पद्धत कॉलकडे दुर्लक्ष केले जाईल .

अधिक माहितीसाठी आमचे JavaScript दस्तऐवजीकरण पहा .

तुमची सामग्री टॅब घटक म्हणून सक्रिय करते.

तुम्ही कन्स्ट्रक्टरसह टॅब उदाहरण तयार करू शकता, उदाहरणार्थ:

const bsTab = new bootstrap.Tab('#myTab')
पद्धत वर्णन
dispose घटकाचा टॅब नष्ट करतो.
getInstance स्टॅटिक पद्धत जी तुम्हाला डीओएम घटकाशी संबंधित टॅब उदाहरण मिळविण्याची परवानगी देते, तुम्ही ते याप्रमाणे वापरू शकता: bootstrap.Tab.getInstance(element).
getOrCreateInstance स्टॅटिक पद्धत जी डीओएम घटकाशी संबंधित टॅब उदाहरण देते किंवा ते प्रारंभ न झाल्यास नवीन तयार करते. आपण ते याप्रमाणे वापरू शकता: bootstrap.Tab.getOrCreateInstance(element).
show दिलेला टॅब निवडतो आणि त्याचा संबंधित उपखंड दाखवतो. पूर्वी निवडलेला इतर कोणताही टॅब निवडलेला नसतो आणि त्याचा संबंधित उपखंड लपविला जातो. टॅब उपखंड प्रत्यक्षात दर्शविले जाण्यापूर्वी कॉलरकडे परत येते (म्हणजे shown.bs.tabइव्हेंट होण्यापूर्वी).

कार्यक्रम

नवीन टॅब दाखवताना, इव्हेंट खालील क्रमाने सुरू होतात:

  1. hide.bs.tab(वर्तमान सक्रिय टॅबवर)
  2. show.bs.tab(दाखवल्या जाणार्‍या टॅबवर)
  3. hidden.bs.tab(मागील सक्रिय टॅबवर, hide.bs.tabकार्यक्रमाप्रमाणेच)
  4. shown.bs.tab(नवीन-सक्रिय नुकत्याच दाखवलेल्या टॅबवर, show.bs.tabकार्यक्रमाप्रमाणेच)

जर कोणताही टॅब आधीपासून सक्रिय नसेल, तर hide.bs.tabआणि hidden.bs.tabइव्हेंट फायर केले जाणार नाहीत.

कार्यक्रमाचा प्रकार वर्णन
hide.bs.tab जेव्हा नवीन टॅब दाखवायचा असतो (आणि अशा प्रकारे मागील सक्रिय टॅब लपवायचा असतो) तेव्हा हा कार्यक्रम सुरू होतो. अनुक्रमे वर्तमान सक्रिय टॅब आणि लवकरच सक्रिय होणारा नवीन टॅब वापरा event.targetआणि लक्ष्यित करा.event.relatedTarget
hidden.bs.tab हा कार्यक्रम नवीन टॅब दर्शविल्यानंतर सुरू होतो (आणि अशा प्रकारे मागील सक्रिय टॅब लपविला जातो). मागील सक्रिय टॅब आणि नवीन सक्रिय टॅब अनुक्रमे वापरा event.targetआणि लक्ष्यित करण्यासाठी.event.relatedTarget
show.bs.tab हा कार्यक्रम टॅब शोवर सुरू होतो, परंतु नवीन टॅब दाखवण्यापूर्वी. सक्रिय टॅब आणि मागील सक्रिय टॅब (उपलब्ध असल्यास) अनुक्रमे वापरा event.targetआणि लक्ष्यित करा.event.relatedTarget
shown.bs.tab टॅब दर्शविल्यानंतर हा कार्यक्रम टॅब शोवर सुरू होतो. सक्रिय टॅब आणि मागील सक्रिय टॅब (उपलब्ध असल्यास) अनुक्रमे वापरा event.targetआणि लक्ष्यित करा.event.relatedTarget
const tabEl = document.querySelector('button[data-bs-toggle="tab"]')
tabEl.addEventListener('shown.bs.tab', event => {
  event.target // newly activated tab
  event.relatedTarget // previous active tab
})