Նավակներ և ներդիրներ
Փաստաթղթեր և օրինակներ, թե ինչպես օգտագործել Bootstrap-ի ընդգրկված նավիգացիոն բաղադրիչները:
Base nav
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" href="#" tabindex="-1" aria-disabled="true">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" href="#" tabindex="-1" aria-disabled="true">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" 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-ը և ավելացնում .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" 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>
Աշխատում է ֆլեքս կոմունալ ծառայությունների հետ
Եթե Ձեզ անհրաժեշտ են նավատորմի արձագանքող տատանումներ, օգտագործեք մի շարք 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" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
Մատչելիության վերաբերյալ
Եթե դուք օգտագործում եք navs՝ նավիգացիոն գիծ տրա��ադրելու համար, համոզվեք, որ ավելացրե՛ք a-ը role="navigation"
ի ամենատրամաբանական մայր կոնտեյների մեջ <ul>
կամ փաթաթեք <nav>
տարրը ամբողջ նավիգացիայի շուրջ: Մի ավելացրեք դերը <ul>
ինքնին, քանի որ դա կխանգարի այն հայտարարվել որպես փաստացի ցուցակ օժանդակ տեխնոլոգիաների կողմից:
Նկատի ունեցեք, որ նավիգացիոն գծերը, նույնիսկ եթե տեսողականորեն ձևավորված են որպես .nav-tabs
դասի ներդիրներ, չպետք է տրվեն կամ ատրիբուտներ : Սրանք հարմար են միայն դինամիկ ներդիրներով ինտերֆեյսերի համար, ինչպես նկարագրված է WAI ARIA- ի հեղինակային պրակտիկաներում : Տե՛ս JavaScript-ի վարքագիծը դինամիկ ներդիրներով ինտերֆեյսների համար այս բաժնում: Հատկանիշն անհրաժեշտ չէ դինամիկ ներդիրներով ինտերֆեյսներում, քանի որ մեր JavaScript-ը կարգավորում է ընտրված վիճակը՝ ավելացնելով ակտիվ ներդիրը: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;
JavaScript-ի վարքագիծը
Օգտագործեք ներդիրի JavaScript հավելվածը, ներառեք այն անհատապես կամ կազմված bootstrap.js
ֆայլի միջոցով, մեր նավիգացիոն ներդիրներն ու հաբերը ընդլայնելու համար՝ տեղական բովանդակության ներդիրային վահանակներ ստեղծելու համար:
Դինամիկ ներդիրներով ինտերֆեյսները, ինչպես նկարագրված են WAI ARIA- ի հեղինակային պրակտիկաներում , պահանջում են role="tablist"
, role="tab"
, role="tabpanel"
և լրացուցիչ aria-
ատրիբուտներ՝ իրենց կառուցվածքը, ֆունկցիոնալությունը և ներկա վիճակը օժանդակ տեխնոլոգիաների (օրինակ՝ էկրանի ընթերցիչներ) օգտվողներին փոխանցելու համար: Որպես լավագույն պրակտիկա՝ խորհուրդ ենք տալիս օգտագործել <button>
տարրեր ներդիրների համար, քանի որ դրանք դինամիկ փոփոխություններ են առաջացնում, այլ ոչ թե նոր էջ կամ տեղ նավարկող հղումներ:
Նկատի ունեցեք, որ դինամիկ ներդիրներով ինտերֆեյսները չպետք է պարունակեն բացվող ընտրացանկեր, քանի որ դա առաջացնում է ինչպես օգտագործման, այնպես էլ մատչելիության հետ կապված խնդիրներ: Օգտագործելիության տեսանկյունից, այն փաստը, որ ներկայումս ցուցադրվող ներդիրի գործարկման տարրը անմիջապես տեսանելի չէ (քանի որ այն գտնվում է փակ բացվող ընտրացանկի ներսում), կարող է շփոթություն առաջացնել: Մատչելիության տեսանկյունից, ներկայումս չկա որևէ խելամիտ միջոց այս տեսակի կառուցվածքը WAI ARIA-ի ստանդարտ օրինակով քարտեզագրելու համար, ինչը նշանակում է, որ այն չի կարող հեշտությամբ հասկանալի լինել օժանդակ տեխնոլոգիաների օգտագործողների համար:
Սա տեղապահի որոշ բովանդակություն է՝ «Գլխավոր» ներդիրի հետ կապված բովանդակությունը: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: JavaScript ներդիրը փոխում է դասերը՝ վերահսկելու բովանդակության տեսանելիությունը և ոճավորումը: Դուք կարող եք օգտագործել այն ներդիրների, հաբերի և ցանկացած այլ .nav
սնուցվող նավիգացիայի միջոցով:
Սա որոշակի տեղապահի բովանդակություն է, որը կապված է «Պրոֆիլ» ներդիրի հետ: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: JavaScript ներդիրը փոխում է դասերը՝ վերահսկելու բովանդակության տեսանելիությունը և ոճավորումը: Դուք կարող եք օգտագործել այն ներդիրների, հաբերի և ցանկացած այլ .nav
սնուցվող նավիգացիայի միջոցով:
Սա տեղապահի որոշ բովանդակություն է, որը կապված է Կոնտակտային ներդիրի հետ: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: JavaScript ներդիրը փոխում է դասերը՝ վերահսկելու բովանդակության տեսանելիությունը և ոճավորումը: Դուք կարող եք օգտագործել այն ներդիրների, հաբերի և ցանկացած այլ .nav
սնուցվող նավիգացիայի միջոցով:
<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
սնուցվող նավիգացիայի միջոցով:
Սա որոշակի տեղապահի բովանդակություն է, որը կապված է «Պրոֆիլ» ներդիրի հետ: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: JavaScript ներդիրը փոխում է դասերը՝ վերահսկելու բովանդակության տեսանելիությունը և ոճավորումը: Դուք կարող եք օգտագործել այն ներդիրների, հաբերի և ցանկացած այլ .nav
սնուցվող նավիգացիայի միջոցով:
Սա տեղապահի որոշ բովանդակություն է, որը կապված է Կոնտակտային ներդիրի հետ: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: JavaScript ներդիրը փոխում է դասերը՝ վերահսկելու բովանդակության տեսանելիությունը և ոճավորումը: Դուք կարող եք օգտագործել այն ներդիրների, հաբերի և ցանկացած այլ .nav
սնուցվող նավիգացիայի միջոցով:
<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
սնուցվող նավիգացիայի միջոցով:
Սա որոշակի տեղապահի բովանդակություն է, որը կապված է «Պրոֆիլ» ներդիրի հետ: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: JavaScript ներդիրը փոխում է դասերը՝ վերահսկելու բովանդակության տեսանելիությունը և ոճավորումը: Դուք կարող եք օգտագործել այն ներդիրների, հաբերի և ցանկացած այլ .nav
սնուցվող նավիգացիայի միջոցով:
Սա տեղապահի որոշ բովանդակություն է «Հաղորդագրություններ» ներդիրի հետ կապված բովանդակություն: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: JavaScript ներդիրը փոխում է դասերը՝ վերահսկելու բովանդակության տեսանելիությունը և ոճավորումը: Դուք կարող եք օգտագործել այն ներդիրների, հաբերի և ցանկացած այլ .nav
սնուցվող նավիգացիայի միջոցով:
Սա տեղապահի որոշ բովանդակություն է Կարգավորումների ներդիրի հետ կապված բովանդակություն: Մեկ այլ ներդիրի սեղմումով այս մեկի տեսանելիությունը կփոխվի հաջորդի համար: JavaScript ներդիրը փոխում է դասերը՝ վերահսկելու բովանդակության տեսանելիությունը և ոճավորումը: Դուք կարող եք օգտագործել այն ներդիրների, հաբերի և ցանկացած այլ .nav
սնուցվող նավիգացիայի միջոցով:
<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 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>
Մեթոդներ
Ասինխրոն մեթոդներ և անցումներ
Բոլոր 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 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()
տնօրինել
Ոչնչացնում է տարրի ներդիրը:
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
Իրադարձություններ
Նոր ներդիր ցուցադրելիս իրադարձությունները բացվում են հետևյալ հաջորդականությամբ.
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
})