Navs è tabs
Documentazione è esempi per cumu utilizà i cumpunenti di navigazione inclusi di Bootstrap.
Nav di basa
A navigazione dispunibule in Bootstrap sparte marcatura generale è stili, da a classa di basa .nav
à i stati attivi è disabilitati. Scambià e classi di modificatori per cambià trà ogni stile.
U cumpunente di basa .nav
hè custruitu cù flexbox è furnisce una basa forte per custruisce tutti i tipi di cumpunenti di navigazione. Include alcuni overrides di stile (per travaglià cù listi), qualchì padding di ligami per aree più grande di colpi, è stili di basa disabilitatu.
U cumpunente di basa .nav
ùn include micca .active
statu. L'esempii seguenti includenu a classa, principarmenti per dimustrà chì sta classe particulare ùn provoca micca un stilu speciale.
Per trasmette u statu attivu à i tecnulugii assistivi, utilizate l' aria-current
attributu - utilizendu u page
valore per a pagina attuale, o true
per l'articulu attuale in un settore.
<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>
E classi sò aduprate in tuttu, cusì u vostru marcatu pò esse super flexible. Aduprate <ul>
s cum'è sopra, <ol>
se l'ordine di i vostri articuli hè impurtante, o rollu u vostru propiu cù un <nav>
elementu. Perchè l' .nav
usi display: flex
, i ligami di navigazione si cumportanu cum'è l'articuli di navigazione, ma senza u marcatu extra.
<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>
Stili dispunibuli
Cambia u stilu di .nav
cumpunenti s cù modificatori è utilità. Imbulighjate è abbinate cum'è necessariu, o custruite u vostru propiu.
Allineamentu horizontale
Cambia l'allineamentu horizontale di u vostru navigatore cù l'utilità flexbox . Per automaticamente, i navs sò allineati à manca, ma pudete facilmente cambià in centru o allineatu à destra.
Centratu cù .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>
Allineatu à dritta cù .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>
Verticale
Impilà a vostra navigazione cambiendu a direzzione di l'elementu flex cù l' .flex-column
utilità. Avete bisognu di stackli in certi vetri ma micca in altri? Aduprate e versioni responsive (per esempiu, .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>
Comu sempre, a navigazione verticale hè pussibule senza <ul>
s, ancu.
<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>
Tabs
Piglia a nav basica da sopra è aghjunghje a .nav-tabs
classa per generà una interfaccia tabulata. Aduprate per creà regioni tabulabili cù a nostra tabulazione plugin 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>
Pilules
Pigliate u listessu HTML, ma utilizate .nav-pills
invece:
<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>
Pieni è ghjustificà
Forzà u vostru .nav
cuntenutu per allargà a larghezza tutale dispunibule una di duie classi di modificatori. Per riempie proporzionalmente tuttu u spaziu dispunibule cù i vostri .nav-item
, utilizate .nav-fill
. Avvisate chì tuttu u spaziu horizontale hè occupatu, ma micca ogni articulu di navigazione hà a listessa larghezza.
<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>
Quandu si usa una <nav>
navigazione basata, pudete omette in modu sicuru .nav-item
cum'è .nav-link
hè necessariu solu per <a>
elementi di stile.
<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>
Per elementi di larghezza uguale, utilizate .nav-justified
. Tuttu u spaziu horizontale serà occupatu da ligami di navigazione, ma à u cuntrariu di u .nav-fill
sopra, ogni articulu di navigazione serà a stessa larghezza.
<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>
Simile à l' .nav-fill
esempiu cù una <nav>
navigazione basata.
<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>
U travagliu cù utilità flex
Sè avete bisognu di variazioni di navigazione responsive, cunzidira l'usu di una seria di utilità flexbox . Mentre sò più verbose, queste utilità offre una persunalizazione più grande in i punti di rottura responsive. In l'esempiu quì sottu, u nostru navigatore serà impilatu nantu à u puntu di ruptura più bassu, dopu adattà à un layout horizontale chì riempia a larghezza dispunibile partendu da u puntu di ruptura più chjucu.
<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>
In quantu à l'accessibilità
Sè vo aduprate navs per furnisce una barra di navigazione, assicuratevi di aghjunghje un role="navigation"
à u contenitore parentale più logicu di u <ul>
, o imbulighjate un <nav>
elementu intornu à tutta a navigazione. Ùn aghjunghje micca u rolu à u <ul>
stessu, perchè questu impedirà di esse annunziatu cum'è una lista attuale da e tecnulugia assistive.
Nota chì i bars di navigazione, ancu s'ellu sò visualmente stilati cum'è tabulazioni cù a .nav-tabs
classa, ùn deve micca esse datu role="tablist"
, role="tab"
o role="tabpanel"
attributi. Quessi sò solu adattati per interfacce tabulati dinamichi, cum'è deskrittu in u mudellu di tabulazioni di a Guida di Pratiche di Scrittura ARIA . Vede u cumpurtamentu JavaScript per interfacce tabulati dinamichi in questa sezione per un esempiu. L' aria-current
attributu ùn hè micca necessariu nantu à l'interfacce di tabulazione dinamica postu chì u nostru JavaScript gestisce u statu sceltu aghjunghjendu aria-selected="true"
nantu à a tabulazione attiva.
Utilizà i dropdowns
Aghjunghjite menu dropdown cù un pocu HTML extra è u plugin JavaScript dropdowns .
Tabulazioni cù menu a tendina
<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>
Pills cù dropdowns
<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
Variabili
Aggiuntu in v5.2.0Cum'è parte di l'avvicinamentu di e variabili CSS in evoluzione di Bootstrap, i navs usanu avà variabili CSS lucali nantu à .nav
, .nav-tabs
, è .nav-pills
per una persunalizazione rinfurzata in tempu reale. I valori per e variabili CSS sò stabiliti via Sass, cusì a persunalizazione di Sass hè ancu supportata.
Nantu à a .nav
classa di basa:
--#{$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};
Nantu à a .nav-tabs
classa di modificatore:
--#{$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};
Nantu à a .nav-pills
classa di modificatore:
--#{$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};
Variabili 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;
Cumportamentu JavaScript
Aduprate u plugin JavaScript di tabulazione-includelu individualmente o attraversu u schedariu compilatu bootstrap.js
-per allargà e nostre tabulazioni di navigazione è pillole per creà pannelli tabulabili di cuntenutu locale.
Questu hè un pocu di cuntenutu di placeholder u cuntenutu assuciatu à a tabulazione Home . Cliccà un'altra tabulazione cambierà a visibilità di questu per u prossimu. A tabulazione JavaScript scambia classi per cuntrullà a visibilità di u cuntenutu è u stilu. Pudete aduprà cù tabulature, pills, è qualsiasi altra .nav
navigazione alimentata.
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-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>
Per aiutà à adattà à i vostri bisogni, questu funziona cù un <ul>
marcatu basatu, cum'è mostratu sopra, o cù qualsiasi marcatura arbitraria "roll your own". Nota chì sè vo aduprate <nav>
, ùn deve micca aghjunghje role="tablist"
direttamente à questu, postu chì questu annunzià u rolu nativu di l'elementu cum'è un puntu di navigazione. Invece, cambiate à un elementu alternativu (in l'esempiu quì sottu, un simplice <div>
) è avvolge u <nav>
circondu.
<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>
U plugin di tabulazione travaglia ancu cù pills.
Questu hè un pocu di cuntenutu di placeholder u cuntenutu assuciatu à a tabulazione Home . Cliccà un'altra tabulazione cambierà a visibilità di questu per u prossimu. A tabulazione JavaScript scambia classi per cuntrullà a visibilità di u cuntenutu è u stilu. Pudete aduprà cù tabulature, pills, è qualsiasi altra .nav
navigazione alimentata.
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>
È cù pilule verticali. Ideale, per tabulazioni verticali, duvete ancu aghjunghje aria-orientation="vertical"
à u contenitore di lista di tabulazione.
Questu hè un pocu di cuntenutu di placeholder u cuntenutu assuciatu à a tabulazione Home . Cliccà un'altra tabulazione cambierà a visibilità di questu per u prossimu. A tabulazione JavaScript scambia classi per cuntrullà a visibilità di u cuntenutu è u stilu. Pudete aduprà cù tabulature, pills, è qualsiasi altra .nav
navigazione alimentata.
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>
L'accessibilità
L'interfacce dinamiche di tabulazione, cum'è descritte in u mudellu di tabulazione di a Guida di Pratiche d'Autorizzazione ARIA , necessitanu role="tablist"
, role="tab"
, role="tabpanel"
, è attributi supplementari aria-
per trasmette a so struttura, funziunalità è statu attuale à l'utilizatori di tecnulugia assistive (cum'è i lettori di schermu). Cum'è una bona pratica, ricumandemu d'utilizà <button>
elementi per e tabulazioni, postu chì sò cuntrolli chì attivanu un cambiamentu dinamicu, invece di ligami chì naviganu à una nova pagina o locu.
In cunfurmità cù u mudellu ARIA Authoring Practices, solu a tabulazione attualmente attiva riceve focus di tastiera. Quandu u plugin JavaScript hè inizializatu, si mette tabindex="-1"
in tutti i cuntrolli di tabulazione inattivi. Una volta chì a tabulazione attiva attualmente hà focu, i chjavi di u cursore attivanu a tabulazione precedente / dopu, cù u plugin chì cambia u rovingtabindex
in cunseguenza . Tuttavia, nutate chì u plugin JavaScript ùn distingue micca e liste di tabulazione horizontale è verticale quandu si tratta di interazzione di chjave di u cursore: indipendentemente da l'orientazione di a lista di tabulazione, sia u cursore in alto sia a manca andanu à a tabulazione precedente, è u cursore in basso è à diritta . a tabulazione dopu.
tabindex="0"
u vostru marcatu.
Utilizà l'attributi di dati
Pudete attivà una tabulazione o una navigazione di pillola senza scrivite JavaScript per solu specificà data-bs-toggle="tab"
o data-bs-toggle="pill"
nantu à un elementu. Aduprate sti attributi di dati nantu à .nav-tabs
o .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>
Via JavaScript
Attivà e tabulazioni tabulabili via JavaScript (ogni tabulazione deve esse attivata individualmente):
const triggerTabList = document.querySelectorAll('#myTab button')
triggerTabList.forEach(triggerEl => {
const tabTrigger = new bootstrap.Tab(triggerEl)
triggerEl.addEventListener('click', event => {
event.preventDefault()
tabTrigger.show()
})
})
Pudete attivà tabulazioni individuali in parechje manere:
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
Effettu fade
Per fà chì e tabulazioni svaniscenu, aghjunghje .fade
à ognunu .tab-pane
. U primu pannellu di tabulazione deve ancu .show
fà vede u cuntenutu iniziale.
<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>
I metudi
Metudi asincroni è transizioni
Tutti i metudi API sò asincroni è cumincianu una transizione . Ritornanu à u chjamante appena a transizione hè iniziata, ma prima chì finisce . Inoltre, un metudu chjamatu nantu à un cumpunente di transizione serà ignoratu .
Vede a nostra documentazione JavaScript per più infurmazione .
Attiva u vostru cuntenutu cum'è un elementu di tabulazione.
Pudete creà una istanza di tabulazione cù u custruttore, per esempiu:
const bsTab = new bootstrap.Tab('#myTab')
Metudu | Descrizzione |
---|---|
dispose |
Distrughje una tabulazione di l'elementu. |
getInstance |
Metudu staticu chì permette di ottene l'istanza di tabulazione assuciata à un elementu DOM, pudete aduprà cusì: bootstrap.Tab.getInstance(element) . |
getOrCreateInstance |
Metudu staticu chì torna una istanza di tabulazione assuciata à un elementu DOM o creanu un novu in casu ùn hè micca inizializatu. Pudete aduprà cusì: bootstrap.Tab.getOrCreateInstance(element) . |
show |
Selezziunate a tabulazione data è mostra u so pane assuciatu. Qualchese altra tabulazione chì hè stata scelta prima ùn hè micca selezziunata è u so pane assuciatu hè oculatu. Ritorna à u chjamante prima chì u pannellu di tabulazione hè statu veramente mostratu (vale à dì prima chì l' shown.bs.tab avvenimentu si faci). |
Avvenimenti
Quandu mostra una nova tabulazione, l'avvenimenti sparanu in l'ordine seguente:
hide.bs.tab
(nantu à a tabulazione attiva attuale)show.bs.tab
(nantu à a tabulazione da vede)hidden.bs.tab
(nantu à a tabulazione attiva precedente, u listessu cum'è per l'hide.bs.tab
avvenimentu)shown.bs.tab
(on the newly-active just-shown tab, the same one as for theshow.bs.tab
event)
If no tab was already active, then the hide.bs.tab
and hidden.bs.tab
events will not be fired.
Event type | Description |
---|---|
hide.bs.tab |
This event fires when a new tab is to be shown (and thus the previous active tab is to be hidden). Use event.target and event.relatedTarget to target the current active tab and the new soon-to-be-active tab, respectively. |
hidden.bs.tab |
This event fires after a new tab is shown (and thus the previous active tab is hidden). Use event.target and event.relatedTarget to target the previous active tab and the new active tab, respectively. |
show.bs.tab |
This event fires on tab show, but before the new tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively. |
shown.bs.tab |
Questu avvenimentu spara nantu à a tabulazione mostra dopu chì una tabulazione hè stata mostrata. Aduprate event.target è event.relatedTarget per destinà a tabulazione attiva è a tabulazione attiva precedente (se dispunibule) rispettivamente. |
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
})