Navs и јазичиња
Документација и примери за тоа како да се користат вклучените компоненти за навигација на 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" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
Часовите се користат насекаде, така што вашето обележување може да биде супер флексибилно. Користете <ul>
s како погоре, <ol>
ако редоследот на вашите ставки е важен, или превртете го вашиот со <nav>
елемент. Поради .nav
употребата display: flex
, врските за навигација се однесуваат исто како и ставките за навигација, но без дополнителна ознака.
<nav class="nav">
<a class="nav-link active" aria-current="page" href="#">Active</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
Достапни стилови
Променете го стилот на .nav
компонентата со модификатори и алатки. Измешајте и спојте по потреба, или изградете свој.
Хоризонтално порамнување
Променете го хоризонталното порамнување на вашата навигација со помошните алатки на 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-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>
Во однос на пристапноста
Ако користите навигација за да обезбедите лента за навигација, погрижете се да додадете a role="navigation"
во најлогичниот родителски контејнер на <ul>
, или да завиткате <nav>
елемент околу целата навигација. Не ја додавајте улогата на <ul>
самата, бидејќи тоа ќе спречи да биде објавена како вистинска листа од помошните технологии.
Забележете дека лентите за навигација, дури и ако визуелно се стилизирани како јазичиња со .nav-tabs
класата, не треба да се даваат role="tablist"
, role="tab"
или role="tabpanel"
атрибути. Овие се соодветни само за динамични интерфејси со јазичиња, како што е опишано во Практиките за авторизација на WAI ARIA . Видете го однесувањето на JavaScript за динамични интерфејси со јазичиња во овој дел за пример. Атрибутот aria-current
не е неопходен на динамичните интерфејси со јазичиња, бидејќи нашиот JavaScript се справува со избраната состојба со додавање 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
навигација со напојување.
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>
Приклучокот за јазичиња исто така работи со апчиња.
Ова е одредена содржина на место за место, поврзана содржина на картичката Почетна. Со кликнување на друго јазиче ќе се смени видливоста на оваа за следната. Јазичето 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 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>
покажуваат
Selects the given tab and shows its associated pane. Any other tab that was previously selected becomes unselected and its associated pane is hidden. Returns to the caller before the tab pane has actually been shown (i.e. before the shown.bs.tab
event occurs).
var someTabTriggerEl = document.querySelector('#someTabTrigger')
var tab = new bootstrap.Tab(someTabTriggerEl)
tab.show()
dispose
Destroys an element’s tab.
getInstance
Static method which allows you to get the tab instance associated with a DOM element
var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getInstance(triggerEl) // Returns a Bootstrap tab instance
getOrCreateInstance
Static method which allows you to get the tab instance associated with a DOM element, or create a new one in case it wasn’t initialised
var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getOrCreateInstance(triggerEl) // Returns a Bootstrap tab instance
Events
When showing a new tab, the events fire in the following order:
hide.bs.tab
(on the current active tab)show.bs.tab
(on the to-be-shown tab)hidden.bs.tab
(on the previous active tab, the same one as for thehide.bs.tab
event)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
})