Gå til hovedinnhold Hopp til dokumentnavigering
in English

Nav og faner

Dokumentasjon og eksempler for hvordan du bruker Bootstraps medfølgende navigasjonskomponenter.

Basenav

Navigering tilgjengelig i Bootstrap deler generell markering og stiler, fra .navbasisklassen til de aktive og deaktiverte tilstandene. Bytt modifikatorklasser for å bytte mellom hver stil.

Basekomponenten .naver bygget med flexbox og gir et sterkt grunnlag for å bygge alle typer navigasjonskomponenter. Den inkluderer noen stiloverstyringer (for å jobbe med lister), noe lenkepolstring for større treffområder og grunnleggende funksjonshemmede styling.

Basiskomponenten .navinkluderer ingen .activetilstand. Følgende eksempler inkluderer klassen, hovedsakelig for å demonstrere at denne spesielle klassen ikke utløser noen spesiell styling.

For å formidle den aktive tilstanden til hjelpeteknologier, bruk aria-currentattributtet – bruk pageverdien for gjeldende side, eller truefor gjeldende element i et sett.

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

Klassene brukes hele veien, så merkingen din kan være superfleksibel. Bruk <ul>s som ovenfor, <ol>hvis rekkefølgen på varene dine er viktig, eller rull din egen med et <nav>element. Fordi .navbrukerne display: flexoppfører seg på samme måte som nav-elementer, men uten den ekstra markeringen.

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

Tilgjengelige stiler

Endre stilen til .navs-komponenten med modifikatorer og verktøy. Miks og match etter behov, eller bygg din egen.

Horisontal justering

Endre den horisontale justeringen av nav med flexbox-verktøy . Som standard er nav-er venstrejustert, men du kan enkelt endre dem til midt- eller høyrejustert.

Sentrert med .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>

Høyrejustert med .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>

Vertikal

Stable navigasjonen ved å endre retningen på flexelementet med .flex-columnverktøyet. Trenger du å stable dem på noen visningsporter, men ikke andre? Bruk de responsive versjonene (f.eks. .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>

Som alltid er vertikal navigering også mulig uten <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>

Faner

Tar den grunnleggende navigasjonen ovenfra og legger til .nav-tabsklassen for å generere et fanebasert grensesnitt. Bruk dem til å lage tabellområder med JavaScript-plugin-modulen vår .

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

Piller

Ta den samme HTML-en, men bruk .nav-pillsi stedet:

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

Fyll og begrunn

Tving .navinnholdet ditt til å utvide den fulle tilgjengelige bredden en av to modifikasjonsklasser. For å fylle all tilgjengelig plass proporsjonalt med dine .nav-items, bruk .nav-fill. Legg merke til at all horisontal plass er opptatt, men ikke alle nav-elementer har samme bredde.

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

Når du bruker en <nav>-basert navigasjon, kan du trygt utelate .nav-itemsiden det kun .nav-linkkreves for stylingelementer <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>

For elementer med lik bredde, bruk .nav-justified. All horisontal plass vil bli okkupert av nav-lenker, men i motsetning til .nav-fillovennevnte vil hvert nav-element ha samme bredde.

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

Ligner på .nav-filleksempelet med en <nav>-basert navigasjon.

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

Jobber med flexverktøy

Hvis du trenger responsive nav-varianter, bør du vurdere å bruke en rekke flexbox-verktøy . Selv om de er mer detaljerte, tilbyr disse verktøyene større tilpasning på tvers av responsive bruddpunkter. I eksemplet nedenfor vil nav-en vår bli stablet på det laveste bruddpunktet, og deretter tilpasses det til en horisontal layout som fyller den tilgjengelige bredden fra det lille bruddpunktet.

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

Angående tilgjengelighet

Hvis du bruker nav for å gi en navigasjonslinje, må du sørge for å legge til en role="navigation"i den mest logiske overordnede beholderen til <ul>, eller omslutte et <nav>element rundt hele navigasjonen. Ikke legg rollen til seg <ul>selv, da dette vil forhindre at den blir annonsert som en faktisk liste av hjelpeteknologier.

Merk at navigasjonslinjer, selv om de er visuelt stilte som faner med .nav-tabsklassen, ikke skal gis role="tablist", role="tab"eller role="tabpanel"attributter. Disse er kun egnet for dynamiske fanebaserte grensesnitt, som beskrevet i WAI ARIA Authoring Practices . Se JavaScript-atferd for dynamiske fanebaserte grensesnitt i denne delen for et eksempel. aria-currentAttributtet er ikke nødvendig på dynamiske fanegrensesnitt siden vår JavaScript håndterer den valgte tilstanden ved å legge til på aria-selected="true"den aktive fanen.

Bruker rullegardinmenyene

Legg til rullegardinmenyer med litt ekstra HTML og JavaScript-plugin-modulen .

Faner med rullegardiner

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

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

Sass

Variabler

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

Bruk JavaScript-plugin-fanen – inkluder den individuelt eller gjennom den kompilerte bootstrap.jsfilen – for å utvide våre navigasjonsfaner og -piller til å lage tabulatorer med lokalt innhold.

Dynamiske fanegrensesnitt, som beskrevet i WAI ARIA Authoring Practices , krever role="tablist", role="tab", role="tabpanel", og tilleggsattributter aria-for å formidle deres struktur, funksjonalitet og nåværende tilstand til brukere av hjelpeteknologier (som skjermlesere). Som en beste praksis anbefaler vi å bruke <button>elementer for fanene, siden disse er kontroller som utløser en dynamisk endring, i stedet for linker som navigerer til en ny side eller plassering.

Merk at dynamiske fanegrensesnitt ikke bør inneholde rullegardinmenyer, da dette forårsaker både brukervennlighet og tilgjengelighetsproblemer. Fra et brukervennlighetsperspektiv kan det faktum at utløserelementet til den aktuelle fanen som vises ikke er umiddelbart synlig (som det er inne i den lukkede rullegardinmenyen) forårsake forvirring. Fra et tilgjengelighetssynspunkt er det foreløpig ingen fornuftig måte å kartlegge denne typen konstruksjon til et standard WAI ARIA-mønster, noe som betyr at det ikke lett kan gjøres forståelig for brukere av hjelpemidler.

Dette er noe plassholderinnhold på Hjem-fanens tilknyttede innhold. Hvis du klikker på en annen fane, endres synligheten til denne for den neste. Fanen JavaScript bytter klasser for å kontrollere innholdets synlighet og stil. Du kan bruke den med faner, piller og annen .navdrevet navigasjon.

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>

For å hjelpe deg med å dekke dine behov, fungerer dette med <ul>-basert markering, som vist ovenfor, eller med en hvilken som helst vilkårlig "rull din egen" markering. Vær oppmerksom på at hvis du bruker <nav>, bør du ikke legge role="tablist"direkte til den, da dette vil overstyre elementets opprinnelige rolle som navigasjonslandemerke. Bytt i stedet til et alternativt element (i eksemplet nedenfor, en enkel <div>) og vikle <nav>rundt det.

<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-pluginen fungerer også med piller.

Dette er noe plassholderinnhold på Hjem-fanens tilknyttede innhold. Hvis du klikker på en annen fane, endres synligheten til denne for den neste. Fanen JavaScript bytter klasser for å kontrollere innholdets synlighet og stil. Du kan bruke den med faner, piller og annen .navdrevet navigasjon.

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>

Og med vertikale piller.

Dette er noe plassholderinnhold på Hjem-fanens tilknyttede innhold. Hvis du klikker på en annen fane, endres synligheten til denne for den neste. Fanen JavaScript bytter klasser for å kontrollere innholdets synlighet og stil. Du kan bruke den med faner, piller og annen .navdrevet navigasjon.

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>

Bruk av dataattributter

Du kan aktivere en fane- eller pillenavigasjon uten å skrive noe JavaScript ved å spesifisere data-bs-toggle="tab"eller data-bs-toggle="pill"på et element. Bruk disse dataattributtene på .nav-tabseller .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>

Via JavaScript

Aktiver tabbare faner via JavaScript (hver fane må aktiveres individuelt):

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()
  })
})

Du kan aktivere individuelle faner på flere måter:

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

For å få faner til å tone inn, legg .fadetil i hver .tab-pane. Den første faneruten må også .showgjøre det opprinnelige innholdet synlig.

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

Metoder

Asynkrone metoder og overganger

Alle API-metoder er asynkrone og starter en overgang . De går tilbake til den som ringer så snart overgangen er startet, men før den avsluttes . I tillegg vil et metodekall på en overgangskomponent bli ignorert .

Se vår JavaScript-dokumentasjon for mer informasjon .

constructor

Aktiverer et faneelement og innholdsbeholder. Tab skal ha enten et data-bs-targeteller, hvis du bruker en lenke, et hrefattributt, målrettet mot en containernode i 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>

show

Velger den gitte fanen og viser den tilhørende ruten. Enhver annen fane som tidligere ble valgt blir opphevet og den tilhørende ruten er skjult. Går tilbake til den som ringer før faneruten faktisk har blitt vist (dvs. før shown.bs.tabhendelsen inntreffer).

  var someTabTriggerEl = document.querySelector('#someTabTrigger')
  var tab = new bootstrap.Tab(someTabTriggerEl)

  tab.show()

dispose

Ødelegger et elements fane.

getInstance

Statisk metode som lar deg få tabulatorforekomsten knyttet til et DOM-element

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

getOrCreateInstance

Statisk metode som lar deg få tabulatorforekomsten knyttet til et DOM-element, eller opprette en ny i tilfelle den ikke ble initialisert

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

Events

Når du viser en ny fane, utløses hendelsene i følgende rekkefølge:

  1. hide.bs.tab(på gjeldende aktive fane)
  2. show.bs.tab(på fanen som skal vises)
  3. hidden.bs.tab(på den forrige aktive fanen, den samme som for hide.bs.tabarrangementet)
  4. shown.bs.tab(på den nylig aktive fanen som nettopp er vist, den samme som for show.bs.tabarrangementet)

Hvis ingen fane allerede var aktiv, vil ikke hide.bs.tabog hidden.bs.tab-hendelsene bli utløst.

Hendelsestype Beskrivelse
show.bs.tab Denne hendelsen utløses på fanevisning, men før den nye fanen har blitt vist. Bruk event.targetog event.relatedTargetfor å målrette henholdsvis den aktive fanen og den forrige aktive fanen (hvis tilgjengelig).
shown.bs.tab Denne hendelsen utløses på fanevisning etter at en fane er vist. Bruk event.targetog event.relatedTargetfor å målrette henholdsvis den aktive fanen og den forrige aktive fanen (hvis tilgjengelig).
hide.bs.tab Denne hendelsen utløses når en ny fane skal vises (og dermed skal den forrige aktive fanen skjules). Bruk event.targetog event.relatedTargetfor å målrette henholdsvis den gjeldende aktive fanen og den nye snart-aktive fanen.
hidden.bs.tab Denne hendelsen utløses etter at en ny fane vises (og dermed er den forrige aktive fanen skjult). Bruk event.targetog event.relatedTargetfor å målrette henholdsvis den forrige aktive fanen og den nye aktive fanen.
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
})