मुख्य सामग्रीमा जानुहोस् कागजात नेभिगेसनमा जानुहोस्
Check
in English

Navs र ट्याबहरू

बुटस्ट्र्यापको समावेश नेभिगेसन कम्पोनेन्टहरू कसरी प्रयोग गर्ने भनेर कागजात र उदाहरणहरू।

आधार nav

बुटस्ट्र्यापमा उपलब्ध नेभिगेसनले आधार वर्गदेखि .navसक्रिय र असक्षम अवस्थाहरूमा सामान्य मार्कअप र शैलीहरू साझा गर्दछ। प्रत्येक शैली बीच स्विच गर्न परिमार्जक वर्गहरू स्वैप गर्नुहोस्।

आधार .navकम्पोनेन्ट फ्लेक्सबक्ससँग बनाइएको छ र सबै प्रकारका नेभिगेसन कम्पोनेन्टहरू निर्माण गर्न बलियो आधार प्रदान गर्दछ। यसमा केहि शैली ओभरराइडहरू (सूचीहरूसँग काम गर्नका लागि), ठूला हिट क्षेत्रहरूको लागि केही लिङ्क प्याडिङ, र आधारभूत असक्षम स्टाइल समावेश छन्।

आधार कम्पोनेन्टले कुनै पनि राज्य .navसमावेश गर्दैन । .activeनिम्न उदाहरणहरूले वर्ग समावेश गर्दछ, मुख्य रूपमा यो विशेष वर्गले कुनै विशेष स्टाइल ट्रिगर गर्दैन भनेर देखाउन।

सक्रिय अवस्थालाई सहायक प्रविधिहरूमा अभिव्यक्त गर्न, aria-currentविशेषता प्रयोग गर्नुहोस् — pageहालको पृष्ठको लागि मान प्रयोग गरेर, वा trueसेटमा हालको वस्तुको लागि।

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>माथि जस्तै s प्रयोग गर्नुहोस् , <ol>यदि तपाईंको वस्तुहरूको क्रम महत्त्वपूर्ण छ भने, वा एक <nav>तत्वको साथ आफ्नै रोल गर्नुहोस्। किनभने .navप्रयोगहरू display: 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 कम्पोनेन्टको शैली परिवर्तन गर्नुहोस् । आवश्यक अनुसार मिलाउनुहोस् र मिलाउनुहोस्, वा आफ्नै निर्माण गर्नुहोस्।

तेर्सो पङ्क्तिबद्धता

flexbox उपयोगिताहरु संग आफ्नो nav को तेर्सो पङ्क्तिबद्धता परिवर्तन गर्नुहोस् । पूर्वनिर्धारित रूपमा, navs बायाँ-पङ्क्तिबद्ध छन्, तर तपाईं सजिलै बीचमा वा दायाँ पङ्क्तिबद्ध तिनीहरूलाई परिवर्तन गर्न सक्नुहुन्छ।

केन्द्रित .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 लिन्छ र .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-itemसमानुपातिक रूपमा तपाइँको s को साथ सबै उपलब्ध ठाउँ भर्न , प्रयोग गर्नुहोस् .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 लिङ्कहरूले ओगटेको छ, तर .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 Authoring Practices Guide ट्याब ढाँचामा वर्णन गरिएको छ । उदाहरणका लागि यस खण्डमा गतिशील ट्याब गरिएको इन्टरफेसहरूको लागि 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 मा थपियो

Bootstrap को विकसित CSS चर दृष्टिकोण को एक भाग को रूप मा, navs अब स्थानीय CSS चर .nav, मा .nav-tabs, र .nav-pillsपरिष्कृत वास्तविक समय अनुकूलन को लागी प्रयोग गर्दछ। 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 Authoring Practices ढाँचा अनुसार, हालको सक्रिय ट्याबले मात्र किबोर्ड फोकस प्राप्त गर्दछ। जब JavaScript प्लगइन प्रारम्भ हुन्छ, यो tabindex="-1"सबै निष्क्रिय ट्याब नियन्त्रणहरूमा सेट हुनेछ। हालको सक्रिय ट्याबमा फोकस भएपछि, कर्सर कुञ्जीहरूले अघिल्लो/अर्को ट्याब सक्रिय गर्दछ, प्लगइनले तदनुसार रोभिङ परिवर्तन गर्दछ। tabindexयद्यपि, नोट गर्नुहोस् कि जाभास्क्रिप्ट प्लगइनले तेर्सो र ठाडो ट्याब सूचीहरू बीच भेद गर्दैन जब यो कर्सर कुञ्जी अन्तरक्रियाहरूमा आउँछ: ट्याब सूचीको अभिमुखीकरणलाई ध्यान नदिई, माथि बायाँ कर्सर दुवै अघिल्लो ट्याबमा जान्छ, र तल दायाँ कर्सरमा जान्छ। अर्को ट्याब।

सामान्यतया, किबोर्ड नेभिगेसनलाई सहज बनाउन, ट्याब प्यानल भित्र अर्थपूर्ण सामग्री भएको पहिलो तत्व पहिले नै फोकस गर्न योग्य नभएसम्म ट्याब प्यानलहरूलाई पनि फोकस गर्न मिल्ने बनाउन सिफारिस गरिन्छ। tabindex="0"JavaScript प्लगइनले यस पक्षलाई ह्यान्डल गर्ने प्रयास गर्दैन — जहाँ उपयुक्त हुन्छ, तपाईंले आफ्नो मार्कअपमा थपेर स्पष्ट रूपमा आफ्नो ट्याब प्यानलहरूलाई फोकसयोग्य बनाउन आवश्यक छ ।
ट्याब JavaScript प्लगइनले ड्रपडाउन मेनुहरू समावेश गर्ने ट्याब गरिएको इन्टरफेसहरूलाई समर्थन गर्दैन , किनकि यसले उपयोगिता र पहुँच दुवै समस्याहरू निम्त्याउँछ। एक उपयोगिता परिप्रेक्ष्यबाट, हालै प्रदर्शित ट्याबको ट्रिगर तत्व तुरुन्तै देखिँदैन भन्ने तथ्य (यो बन्द ड्रपडाउन मेनु भित्र छ) भ्रम पैदा गर्न सक्छ। पहुँचको दृष्टिकोणबाट, यस प्रकारको निर्माणलाई मानक WAI ARIA ढाँचामा नक्सा गर्ने कुनै समझदार तरिका छैन, यसको अर्थ सहायक प्रविधिहरूको प्रयोगकर्ताहरूलाई सजिलै बुझ्न सकिने बनाउन सकिँदैन।

डाटा विशेषताहरू प्रयोग गर्दै

तपाईले कुनै पनि जाभास्क्रिप्ट नलिइकन मात्र निर्दिष्ट गरेर 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>

जाभास्क्रिप्ट मार्फत

जाभास्क्रिप्ट मार्फत ट्याबयोग्य ट्याबहरू सक्षम गर्नुहोस् (प्रत्येक ट्याबलाई व्यक्तिगत रूपमा सक्रिय गर्न आवश्यक छ):

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>

विधिहरू

एसिन्क्रोनस विधि र संक्रमण

सबै एपीआई विधिहरू एसिन्क्रोनस छन् र एक संक्रमण सुरु गर्नुहोस् । तिनीहरू संक्रमण सुरु हुने बित्तिकै तर यो समाप्त हुनु अघि कलरमा फर्कन्छन् । थप रूपमा, ट्रान्जिसनिङ कम्पोनेन्टमा विधि कललाई बेवास्ता गरिनेछ

थप जानकारीको लागि हाम्रो जाभास्क्रिप्ट कागजात हेर्नुहोस्

तपाईंको सामग्रीलाई ट्याब तत्वको रूपमा सक्रिय गर्दछ।

तपाईं कन्स्ट्रक्टरसँग ट्याब उदाहरण सिर्जना गर्न सक्नुहुन्छ, उदाहरणका लागि:

const bsTab = new bootstrap.Tab('#myTab')
विधि विवरण
dispose तत्वको ट्याबलाई नष्ट गर्छ।
getInstance स्थिर विधि जसले तपाइँलाई DOM तत्वसँग सम्बन्धित ट्याब उदाहरण प्राप्त गर्न अनुमति दिन्छ, तपाइँ यसलाई यसरी प्रयोग गर्न सक्नुहुन्छ bootstrap.Tab.getInstance(element):।
getOrCreateInstance स्थिर विधि जसले DOM तत्वसँग सम्बन्धित ट्याबको उदाहरण फिर्ता गर्छ वा यसलाई प्रारम्भ नगरिएको अवस्थामा नयाँ सिर्जना गर्छ। तपाईं यसलाई निम्न रूपमा प्रयोग गर्न सक्नुहुन्छ 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.targetevent.relatedTargetक्रमशः सक्रिय ट्याब र अघिल्लो सक्रिय ट्याब (यदि उपलब्ध छ) लक्षित गर्न।
shown.bs.tab ट्याब देखाइएपछि यो घटना ट्याब शोमा सक्रिय हुन्छ। प्रयोग गर्नुहोस् event.targetevent.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
})