Saltatu eduki nagusira Saltatu dokumentuen nabigaziora
Check
in English

Nabigazioak eta fitxak

Bootstrap-en barne nabigazio osagaiak erabiltzeko dokumentazioa eta adibideak.

Oinarrizko nabigazioa

Bootstrap-en eskuragarri dagoen nabigazioak marka eta estilo orokorrak partekatzen ditu, oinarrizko .navklasetik egoera aktibo eta desgaituetaraino. Trukatu modifikatzaile klaseak estilo bakoitzaren artean aldatzeko.

Oinarrizko .navosagaia flexbox-ekin eraikita dago eta nabigazio-osagai mota guztiak eraikitzeko oinarri sendoa eskaintzen du. Estiloaren gainidazketa batzuk (zerrendekin lan egiteko), estekaren betegarri batzuk hit eremu handiagoetarako eta oinarrizko desgaitutako estiloa biltzen ditu.

Oinarrizko .navosagaiak ez du inolako .activeegoerarik barne hartzen. Ondorengo adibideek klasea barne hartzen dute, batez ere klase jakin honek ez duela estilo berezirik eragiten erakusteko.

Egoera aktiboa laguntza-teknologiei helarazteko, erabili aria-currentatributua — pageuneko orriaren balioa edo truemultzo bateko uneko elementua erabiliz.

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

Klaseak zehar erabiltzen dira, beraz, zure markaketa oso malgua izan daiteke. Erabili <ul>goiko bezalakoak, <ol>zure elementuen ordena garrantzitsua bada, edo jaurti zurea <nav>elementu batekin. .navErabiltzen direnez, display: flexnabigazio estekek nabigazio-elementuek bezala jokatzen dute, baina marka gehigarririk gabe.

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

Eskuragarri dauden estiloak

Aldatu .navs osagaiaren estiloa aldatzaile eta utilitateekin. Nahastu eta lotu behar duzun moduan, edo eraiki zeurea.

Lerrokadura horizontala

Aldatu zure nabigazioaren lerrokadura horizontala flexbox utilitateekin . Lehenespenez, nabigazioak ezkerrean lerrokatuta daude, baina erraz alda ditzakezu erdialdera edo eskuinera lerrokatuta.

Zentratua .justify-content-center:

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

Eskuinean lerrokatuta .justify-content-end:

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

Bertikala

Pilatu zure nabigazioa erabilgarritasunarekin elementu malguaren norabidea aldatuz .flex-column. Ikuspegi batzuetan pilatu behar dituzu baina beste batzuetan ez? Erabili erantzuteko bertsioak (adibidez, .flex-sm-column).

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

Beti bezala, nabigazio bertikala posible da <ul>s gabe ere.

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

Fitxak

Goiko oinarrizko nabigazioa hartzen du eta .nav-tabsklasea gehitzen du fitxadun interfaze bat sortzeko. Erabili itzazu tabulagarriak diren eskualdeak sortzeko gure fitxa JavaScript pluginarekin .

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

Pilulak

Hartu HTML bera, baina erabili .nav-pillshorren ordez:

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

Bete eta justifikatu

Behartu zure .navedukia erabilgarri dagoen zabalera osoa bi aldatzaile klaseetako bat zabaltzera. Eskuragarri dagoen espazio guztia proportzioan betetzeko .nav-item, erabili .nav-fill. Kontuan izan espazio horizontal guztia okupatuta dagoela, baina nabigazio-elementu guztiek ez dutela zabalera bera.

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

-Oinarritutako nabigazioa erabiltzen duzunean <nav>, modu seguruan ezaba dezakezu estilo- elementuetarako .nav-itemsoilik beharrezkoa den bezala ..nav-link<a>

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

Zabalera berdineko elementuetarako, erabili .nav-justified. Espazio horizontal guztia nabigazio estekek okupatuko dute, baina goikoak ez bezala, .nav-fillnabigazio-elementu guztiek zabalera berdina izango dute.

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

-Oinarritutako nabigazioa .nav-fillerabiliz adibidearen antzekoa .<nav>

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

Flex utilityekin lan egitea

Nabigazio aldaerak behar badituzu, kontuan hartu flexbox erabilgarritasun batzuk erabiltzea . Hitzezkoagoak diren arren, utilitate hauek pertsonalizazio handiagoa eskaintzen dute eten-puntu erantzutekotan. Beheko adibidean, gure nabigazioa eten-puntu baxuenean pilatuko da, gero eten-puntu txikitik hasita erabilgarri dagoen zabalera betetzen duen diseinu horizontal batera egokituko da.

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

Irisgarritasunari dagokionez

Nabigazio-barra bat emateko nabigazio-barra erabiltzen ari bazara, ziurtatu a gehitzen duzula role="navigation"gailuaren guraso-edukiontzirik logikoenean <ul>, edo <nav>nabigazio osoan elementu bat bildu. Ez gehitu rola <ul>berari, honek laguntza-teknologiek benetako zerrenda gisa iragartzea eragotziko lukeelako.

Kontuan izan nabigazio-barrak, nahiz eta ikusmen-estiloa .nav-tabsklasearekin fitxak izan, ez direla eman behar role="tablist", role="tab"edo role="tabpanel"atributuak. Fitxa-interfaze dinamikoetarako soilik egokiak dira, ARIA Egile Praktiken Gida fitxa-ereduan azaltzen den bezala . Ikusi JavaScript portaera fitxa-interfaze dinamikoetarako atal honetan adibide bat lortzeko. Atributua ez da beharrezkoa fitxa dinamikoko interfazeetan , aria-currentgure JavaScriptek hautatutako egoera kudeatzen baitu aria-selected="true"fitxa aktiboan gehituz.

Goitibehurrak erabiliz

Gehitu goitibeherako menuak HTML gehigarri batekin eta goitibeherako JavaScript pluginarekin .

Goitibeherako fitxak

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

Goitibeherako pilulak

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

Aldagaiak

v5.2.0-n gehitua

Bootstrap-en CSS aldagaien bilakaeraren ikuspegiaren baitan, nav-ek orain CSS aldagai lokalak erabiltzen ditu .nav, .nav-tabs, eta .nav-pillsdenbora errealean pertsonalizatzeko. CSS aldagaien balioak Sass bidez ezartzen dira, beraz, Sass pertsonalizazioa ere onartzen da oraindik ere.

Oinarrizko .navklasean:

  --#{$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};
  

Aldatzaile .nav-tabsklasean:

  --#{$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};
  

Aldatzaile .nav-pillsklasean:

  --#{$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};
  

Sass aldagaiak

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

JavaScript portaera

Erabili fitxa JavaScript plugina —sartu banan-banan edo konpilatutako bootstrap.jsfitxategiaren bidez— gure nabigazio-fitxak eta pilulak zabaltzeko tokiko edukiaren fitxa-panelak sortzeko.

Hau hasierako fitxan lotutako edukia da. Beste fitxa batean klik eginez gero, honen ikusgarritasuna aldatuko da hurrengorako. JavaScript fitxak klaseak trukatzen ditu edukiaren ikusgarritasuna eta estiloa kontrolatzeko. .navFitxekin, pilulekin eta beste edozein nabigaziorekin erabil dezakezu .

Hau leku-markaren edukia da Profil fitxaren erlazionatutako edukia. Beste fitxa batean klik eginez gero, honen ikusgarritasuna aldatuko da hurrengorako. JavaScript fitxak klaseak trukatzen ditu edukiaren ikusgarritasuna eta estiloa kontrolatzeko. .navFitxekin, pilulekin eta beste edozein nabigaziorekin erabil dezakezu .

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>

Zure beharretara egokitzen laguntzeko, honek <ul>-oinarritutako markaketarekin funtzionatzen du, goian erakusten den moduan, edo edozein "erretira ezazu zure" marka arbitrarioarekin. Kontuan izan , erabiltzen ari bazara <nav>, ez duzula zuzenean gehitu behar role="tablist", horrek elementuak nabigazio-mugarri gisa duen jatorrizko eginkizuna gainidatziko lukeelako. Horren ordez, aldatu elementu alternatibo batera (beheko adibidean, soil bat <div>) eta bildu haren <nav>inguruan.

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

Tabs pluginak pilulekin ere funtzionatzen du.

Hau hasierako fitxan lotutako edukia da. Beste fitxa batean klik eginez gero, honen ikusgarritasuna aldatuko da hurrengorako. JavaScript fitxak klaseak trukatzen ditu edukiaren ikusgarritasuna eta estiloa kontrolatzeko. .navFitxekin, pilulekin eta beste edozein nabigaziorekin erabil dezakezu .

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>

Eta pilula bertikalekin. Egokiena, fitxa bertikaletarako, aria-orientation="vertical"fitxa-zerrendako edukiontzira ere gehitu beharko zenuke.

Hau hasierako fitxan lotutako edukia da. Beste fitxa batean klik eginez gero, honen ikusgarritasuna aldatuko da hurrengorako. JavaScript fitxak klaseak trukatzen ditu edukiaren ikusgarritasuna eta estiloa kontrolatzeko. .navFitxekin, pilulekin eta beste edozein nabigaziorekin erabil dezakezu .

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>

Irisgarritasuna

Fitxa-interfaze dinamikoek, ARIA Egile Praktiken Gida fitxak ereduanrole="tablist" azaltzen den moduan, , role="tab", role="tabpanel", eta atributu osagarriak behar aria-dituzte haien egitura, funtzionaltasuna eta egungo egoera teknologi laguntzaileen erabiltzaileei (pantaila-irakurgailuak, esaterako) helarazteko. Praktika <button>egoki gisa, fitxetarako elementuak erabiltzea gomendatzen dugu, aldaketa dinamikoa eragiten duten kontrolak baitira, orrialde edo kokapen berri batera nabigatzen duten estekak baino.

ARIA Authoring Practices ereduaren ildotik, une honetan aktibo dagoen fitxak soilik jasotzen du teklatuaren fokua. tabindex="-1"JavaScript plugina hasieratzen denean, fitxa inaktiboen kontrol guztietan ezarriko da. Une honetan aktibo dagoen fitxa fokua duenean, kurtsore-teklak aurreko/hurrengo fitxa aktibatzen dute, pluginak horrentabindex arabera aldatuz. Hala ere, kontutan izan JavaScript pluginak ez dituela bereizten fitxa horizontalak eta bertikalak kurtsorearen gakoen interakzioei dagokienez: fitxa-zerrendaren orientazioa edozein dela ere, goiko eta ezkerreko kurtsorea aurreko fitxara doa, eta beheko eta eskuineko kurtsoreera. hurrengo fitxa.

Oro har, teklatuaren nabigazioa errazteko, gomendatzen da fitxa-panelak beraiek ere fokuragarriak izatea, fitxa-paneleko eduki esanguratsua duen lehen elementua dagoeneko fokuragarria ez bada. JavaScript plugin-a ez da alderdi hau kudeatzen saiatzen; hala badagokio, zure fitxa-panelak espresuki bideratu beharko dituzu tabindex="0"zure marka gehituz.
Fitxa JavaScript pluginak ez du onartzen goitibeherako menuak dituzten fitxadun interfazeak, hauek erabilgarritasun eta irisgarritasun arazoak eragiten baitituzte. Erabilgarritasunaren ikuspegitik, unean bistaratzen den fitxaren abiarazlearen elementua berehala ikusten ez izateak (gotibeherako menu itxiaren barruan baitago) nahasmena sor dezake. Irisgarritasunaren ikuspuntutik, gaur egun ez dago eraikuntza mota hau WAI ARIA eredu estandar batekin mapatzeko modu zentzudunik, hau da, ezin da erraz uler daiteke laguntza-teknologien erabiltzaileentzat.

Datu-atributuak erabiltzea

Fitxa edo pilulen nabigazioa aktiba dezakezu JavaScript idatzi gabe data-bs-toggle="tab"edo data-bs-toggle="pill"elementu batean zehaztuta. Erabili datu-atributu hauek .nav-tabsedo .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>

JavaScript bidez

Gaitu tabulatzeko fitxak JavaScript bidez (fitxa bakoitza banan-banan aktibatu behar da):

const triggerTabList = document.querySelectorAll('#myTab button')
triggerTabList.forEach(triggerEl => {
  const tabTrigger = new bootstrap.Tab(triggerEl)

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

Banakako fitxak hainbat modutara aktibatu ditzakezu:

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

Desagertzeko efektua

Fitxak desagertzeko, gehitu .fadebakoitzari .tab-pane. Lehen fitxa-panelak .showhasierako edukia ikusgai jarri behar du.

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

Metodoak

Metodo asinkronoak eta trantsizioak

API metodo guztiak asinkronoak dira eta trantsizio bat hasten dute . Trantsizioa hasi bezain laster baina amaitu baino lehen itzultzen dira deitzailearengana . Gainera, trantsizio-osagai baten metodo-dei bati ez ikusi egingo zaio .

Ikus gure JavaScript dokumentazioa informazio gehiago lortzeko .

Zure edukia fitxa-elementu gisa aktibatzen du.

Fitxa-instantzia bat sor dezakezu konstruktorearekin, adibidez:

const bsTab = new bootstrap.Tab('#myTab')
Metodoa Deskribapena
dispose Elementu baten fitxa suntsitzen du.
getInstance Metodo estatikoa DOM elementu batekin lotutako fitxa-instantzia lortzeko aukera ematen duena, honela erabil dezakezu: bootstrap.Tab.getInstance(element).
getOrCreateInstance Metodo estatikoa, DOM elementu bati lotutako fitxa-instantzia bat itzultzen duena edo berri bat sortzen duena hasieratu ez bazen. Honela erabil dezakezu: bootstrap.Tab.getOrCreateInstance(element).
show Emandako fitxa hautatzen du eta hari lotutako panela erakusten du. Aurretik hautatutako beste edozein fitxa hautatu gabe geratzen da eta hari lotutako panela ezkutatu egiten da. Deitzen duenari itzultzen zaio fitxa-panela benetan erakutsi aurretik (hau da, shown.bs.tabgertaera gertatu baino lehen).

Gertaerak

Fitxa berri bat erakustean, gertaerak ordena honetan piztuko dira:

  1. hide.bs.tab(uneko fitxa aktiboan)
  2. show.bs.tab(Erakutsi beharreko fitxan)
  3. hidden.bs.tab(aurreko fitxa aktiboan, ekitaldiaren berdina hide.bs.tab)
  4. shown.bs.tab(Aktibatu berri den fitxan, ekitaldiaren berdina show.bs.tab)

Fitxarik ez bazegoen aktibo, orduan hide.bs.tabeta hidden.bs.tabgertaerak ez dira abiaraziko.

Gertaera mota Deskribapena
hide.bs.tab Gertaera hau fitxa berri bat erakutsi nahi denean abiarazten da (eta, beraz, aurreko fitxa aktiboa ezkutatu behar da). Erabili event.targeteta event.relatedTargetuneko fitxa aktibora eta laster aktibo egongo den fitxa berria bideratzeko, hurrenez hurren.
hidden.bs.tab Gertaera hau fitxa berri bat erakutsi ondoren abiarazten da (eta, beraz, aurreko fitxa aktiboa ezkutatu egiten da). Erabili event.targeteta event.relatedTargetaurreko fitxa aktibora eta fitxa aktibo berria bideratzeko, hurrenez hurren.
show.bs.tab Gertaera hau fitxen erakustaldian abiarazten da, baina fitxa berria erakutsi aurretik. Erabili event.targeteta event.relatedTargetfitxa aktibora eta aurreko fitxa aktibora bideratzeko (eskuragarri badago), hurrenez hurren.
shown.bs.tab Gertaera hau fitxen erakustaldian abiarazten da fitxa bat erakutsi ondoren. Erabili event.targeteta event.relatedTargetfitxa aktibora eta aurreko fitxa aktibora bideratzeko (eskuragarri badago), hurrenez hurren.
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
})