Անցեք հիմնական բովանդակությանը Բաց թողնել փաստաթղթերի նավարկություն
in English

Նավակներ և ներդիրներ

Փաստաթղթեր և օրինակներ, թե ինչպես օգտագործել Bootstrap-ի ընդգրկված նավիգացիոն բաղադրիչները:

Բազային նավ

Bootstrap-ում հասանելի նավարկությունը կիսում է ընդհանուր նշագրումը և ոճերը՝ հիմնական .navդասից մինչև ակտիվ և անջատված վիճակներ: Փոխեք մոդիֆիկատորների դասերը՝ յուրաքանչյուր ոճի միջև անցնելու համար:

Հիմնական .navբաղադրիչը կառուցված է flexbox-ով և ապահովում է ամուր հիմք բոլոր տեսակի նավիգացիոն բաղադրիչների կառուցման համար: Այն ներառում է որոշ ոճերի վերափոխումներ (ցուցակների հետ աշխատելու համար), ավելի մեծ հարվածային տարածքների համար հղո��մների լրացում և հիմնական հաշմանդամ ոճավորում:

Հիմնական .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">Disabled</a>
  </li>
</ul>

Դասերը օգտագործվում են ամբողջ ընթացքում, այնպես որ ձեր նշագրումը կարող է լինել գերճկուն: Օգտագործեք <ul>վերը նշվածները, <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">Disabled</a>
</nav>

Հասանելի ոճեր

.navՓոխեք s բաղադրիչի ոճը մոդիֆիկատորներով և կոմունալ ծառայություններով: Խառնեք և համապատասխանեցրեք ըստ անհրաժեշտության կամ ստեղծեք ձերը:

Հորիզոնական հավասարեցում

Փոխեք ձեր նավի հորիզոնական հավասարեցումը flexbox կոմունալ ծառայություններով : Լռելյայնորեն, նավարկղերը ձախից հավասարեցված են, բայց դուք հեշտությամբ կարող եք դրանք փոխել կենտրոնական կամ աջ հավասարեցվածի:

Կենտրոնացած .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">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">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">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">Disabled</a>
</nav>

Ներդիրներ

Վերևից վերցնում է հիմնական nav-ը և ավելացնում .nav-tabsդասը՝ ներդիրներով ինտերֆեյս ստեղծելու համար: Օգտագործեք դրանք՝ մեր ներդիրի 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">
    <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դրա փոխարեն օգտագործեք՝

<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: Ուշադրություն դարձրեք, որ ամբողջ հորիզոնական տարածքը զբաղված է, բայց նավարկության յուրաքանչյուր տարր չունի նույն լայնությունը:

<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>տարրերի համար:

<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վերը նշվածի, նավի յուրաքանչյուր տարր կունենա նույն լայնությունը:

<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>

<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>

Աշխատում է ֆլեքս կոմունալ ծառայությունների հետ

Եթե ​​Ձեզ անհրաժեշտ են նավատորմի արձագանքող տատանումներ, օգտագործեք մի շարք flexbox կոմունալ ծառայություններ : Թեև այս կոմունալ ծառայություններն ավելի մանրամասն են, բայց ավելի մեծ հարմարեցում են առաջարկում արձագանքող բեկման կետերում: Ստորև բերված օրինակում մեր նավը կդասավորվի ամենացածր բեկման կետի վրա, այնուհետև կհարմարվի հորիզոնական դասավորությանը, որը լրացնում է հասանելի լայնությունը՝ սկսած փոքր ընդմիջման կետից:

<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՝ նավիգացիոն գիծ տրամադրելու համար, համոզվեք, որ ավելացրե՛ք a-ը role="navigation"ի ամենատրամաբանական մայր կոնտեյների մեջ <ul>կամ փաթաթեք <nav>տարրը ամբողջ նավիգացիայի շուրջ: Մի ավելացրեք դերը <ul>ինքնին, քանի որ դա կխանգարի այն հայտարարվել որպես փաստացի ցուցակ օժանդակ տեխնոլոգիաների կողմից:

Նկատի ունեցեք, որ նավիգացիոն գծերը, նույնիսկ եթե տեսողականորեն ձևավորված են որպես .nav-tabsդասի ներդիրներ, չպետք է տրվեն կամ ատրիբուտներ : Սրանք հարմար են միայն դինամիկ ներդիրներով ինտերֆեյսերի համար, ինչպես նկարագրված է WAI ARIA- ի հեղինակային պրակտիկաներում : Տե՛ս JavaScript-ի վարքագիծը դինամիկ ներդիրներով ինտերֆեյսների համար այս բաժնում: Հատկանիշն անհրաժեշտ չէ դինամիկ ներդիրներով ինտերֆեյսներում, քանի որ մեր JavaScript-ը կարգավորում է ընտրված վիճակը՝ ավելացնելով ակտիվ ներդիրը:role="tablist"role="tab"role="tabpanel" aria-currentaria-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">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">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;

JavaScript-ի վարքագիծը

Օգտագործեք ներդիրի JavaScript հավելվածը, ներառեք այն անհատապես կամ կազմված bootstrap.jsֆայլի միջոցով, մեր նավիգացիոն ներդիրներն ու հաբերը ընդլայնելու համար՝ տեղական բովանդակության ներդիրային վահանակներ ստեղծելու համար:

Դինամիկ ներդիրներով ինտերֆեյսները, ինչպես նկարագրված են WAI ARIA- ի հեղինակային պրակտիկաներում , պահանջում են role="tablist", role="tab", role="tabpanel"և լրացուցիչ aria-ատրիբուտներ՝ իրենց կառուցվածքը, ֆունկցիոնալությունը և ներկա վիճակը օժանդակ տեխնոլոգիաների (օրինակ՝ էկրանի ընթերցիչներ) օգտվողներին փոխանցելու համար: Որպես լավագույն պրակտիկա՝ խորհուրդ ենք տալիս օգտագործել <button>տարրեր ներդիրների համար, քանի որ դրանք դինամիկ փոփոխություններ են առաջացնում, այլ ոչ թե նոր էջ կամ տեղ նավարկող հղումներ:

Նկատի ունեցեք, որ դինամիկ ներդիրներով ինտերֆեյսները չպետք է պարունակեն բացվող ընտրացանկեր, քանի որ դա առաջացնում է ինչպես օգտագործման, այնպես էլ մատչելիության հետ կապված խնդիրներ: Օգտագործելիության տեսանկյունից, այն փաստը, որ ներկայումս ցուցադրվող ներդիրի գործարկման տարրը անմիջապես տեսանելի չէ (քանի որ այն գտնվում է փակ բացվող ընտրացանկի ներսում), կարող է շփոթություն առաջացնել: Մատչելիության տեսանկյունից, ներկայումս չկա որևէ խելամիտ միջոց այս տեսակի կառուցվածքը WAI ARIA-ի ստանդարտ օրինակով քարտեզագրելու համար, ինչը նշանակում է, որ այն չի կարող հեշտությամբ հասկանալի լինել օժանդակ տեխնոլոգիաների օգտագործողների համար:

Սա տեղապահի որոշ բովանդակություն է՝ «Գլխավոր» ներդիրի հետ կապված բովանդակությունը: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: 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.

<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"ուղղակիորեն ավելացնեք դրան, քանի որ դա կշրջանցի տարրի բնիկ դերը՝ որպես նավիգացիոն ուղենիշ: Փոխարենը, անցեք այլընտրանքային տարրի (ներքևի օրինակում՝ պարզ <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>

Tabs plugin-ն աշխատում է նաև դեղահաբերով:

Սա տեղապահի որոշ բովանդակություն է՝ «Գլխավոր» ներդիրի հետ կապված բովանդակությունը: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: 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.

<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>

Եվ ուղղահայաց հաբերով:

Սա տեղապահի որոշ բովանդակություն է՝ «Գլխավոր» ներդիրի հետ կապված բովանդակությունը: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: 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 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>

Օգտագործելով տվյալների ատրիբուտները

Դուք կարող եք ակտիվացնել ներդիրի կամ հաբերի նավարկությունը՝ առանց որևէ 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">...</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>

JavaScript-ի միջոցով

Միացնել ներդիրների ներդիրները JavaScript-ի միջոցով (յուրաքանչյուր ներդիր պետք է առանձին ակտիվացվի).

var triggerTabList = [].slice.call(document.querySelectorAll('#myTab button'))
triggerTabList.forEach(function (triggerEl) {
  var tabTrigger = new bootstrap.Tab(triggerEl)

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

Դուք կարող եք ակտիվացնել առանձին ներդիրները մի քանի եղանակով.

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

var 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">...</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>

Մեթոդներ

Ասինխրոն մեթոդներ և անցումներ

Բոլոր API մեթոդները ասինխրոն են և սկսում են անցում : Նրանք վերադառնում են զանգահարողին հենց որ անցումը սկսվի, բայց մինչև այն ավարտվի : Բացի այդ, անցումային բաղադրիչի վրա մեթոդի կանչը անտեսվելու է :

Լրացուցիչ տեղեկությունների համար տես մեր JavaScript փաստաթղթերը :

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 button')
  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()

տնօրինել

Ոչնչացնում է տարրի ներդիրը:

getInstance

Ստատիկ մեթոդ, որը թույլ է տալիս ստանալ DOM տարրի հետ կապված ներդիրի օրինակը

var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getInstance(triggerEl) // Returns a Bootstrap tab instance

getOrCreateInstance

Ստատիկ մեթոդ, որը թույլ է տալիս ստանալ DOM տարրի հետ կապված ներդիրի օրինակը կամ ստեղծել նորը, եթե այն նախաստորագրված չէ:

var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getOrCreateInstance(triggerEl) // Returns a Bootstrap tab instance

Իրադարձություններ

Նոր ներդիր ցուցադրելիս իրադարձությունները բացվում են հետևյալ հաջորդականությամբ.

  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իրադարձությունները չեն գործարկվի:

Միջոցառման տեսակը Նկարագրություն
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
})