ຂ້າມໄປຫາເນື້ອຫາຕົ້ນຕໍ ຂ້າມໄປຫາການນຳທາງເອກະສານ
in English

Navs ແລະແຖບ

ເອກະສານແລະຕົວຢ່າງສໍາລັບວິທີການນໍາໃຊ້ອົງປະກອບນໍາທາງລວມຂອງ Bootstrap.

ພື້ນຖານ nav

ການນໍາທາງທີ່ມີຢູ່ໃນ Bootstrap ແບ່ງປັນເຄື່ອງຫມາຍແລະຮູບແບບທົ່ວໄປ, ຈາກຊັ້ນພື້ນຖານ .navໄປສູ່ສະຖານະທີ່ເຮັດວຽກແລະຄົນພິການ. Swap modifier classes ເພື່ອສະຫຼັບລະຫວ່າງແຕ່ລະຮູບແບບ.

ອົງປະກອບ ພື້ນຖານ .navແມ່ນສ້າງດ້ວຍ flexbox ແລະສ້າງພື້ນຖານທີ່ເຂັ້ມແຂງສໍາລັບການກໍ່ສ້າງອົງປະກອບນໍາທາງທຸກປະເພດ. ມັນປະກອບມີການ overrides ບາງຮູບແບບ (ສໍາລັບການເຮັດວຽກກັບລາຍການ), ບາງ padding ເຊື່ອມຕໍ່ສໍາລັບພື້ນທີ່ hit ຂະຫນາດໃຫຍ່, ແລະຄໍເຕົ້າໄຂ່ທີ່ພິການພື້ນຖານ.

ອົງປະກອບ ພື້ນຖານ .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">Disabled</a>
  </li>
</ul>

ຫ້ອງຮຽນຖືກໃຊ້ຕະຫຼອດ, ດັ່ງນັ້ນເຄື່ອງຫມາຍຂອງທ່ານສາມາດປ່ຽນແປງໄດ້ຫຼາຍ. ໃຊ້ <ul>s ຄືຂ້າງເທິງ, <ol>ຖ້າຄໍາສັ່ງຂອງລາຍການຂອງທ່ານແມ່ນສໍາຄັນ, ຫຼືມ້ວນຂອງທ່ານເອງດ້ວຍ <nav>ອົງປະກອບ. ເນື່ອງຈາກວ່າການ .navນໍາໃຊ້ display: flex, ການເຊື່ອມຕໍ່ nav ປະຕິບັດຄືກັນກັບລາຍການ nav ຈະ, ແຕ່ບໍ່ມີເຄື່ອງຫມາຍພິເສດ.

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

ຮູບແບບທີ່ມີໃຫ້

ປ່ຽນແປງຮູບແບບຂອງ .navອົງປະກອບທີ່ມີຕົວປັບປ່ຽນແລະຜົນປະໂຫຍດ. ປະສົມແລະຈັບຄູ່ຕາມຄວາມຕ້ອງການ, ຫຼືສ້າງຂອງທ່ານເອງ.

ການຈັດວາງແນວນອນ

ປ່ຽນການຈັດວາງແນວນອນຂອງ nav ຂອງທ່ານດ້ວຍ flexbox utilities . ໂດຍຄ່າເລີ່ມຕົ້ນ, navs ແມ່ນຈັດຮຽງຊ້າຍ, ແຕ່ທ່ານສາມາດປ່ຽນພວກມັນໃຫ້ເປັນການຈັດວາງທາງກາງ ຫຼື ຂວາໄດ້ຢ່າງງ່າຍດາຍ.

ຢູ່ໃຈກາງດ້ວຍ .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>

ຈັດຮຽງຂວາກັບ .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>

ຕັ້ງ

ວາງການນໍາທາງຂອງທ່ານໂດຍການປ່ຽນທິດທາງລາຍການ flex ກັບ .flex-columnຜົນປະໂຫຍດ. ຕ້ອງການ stack ພວກມັນຢູ່ໃນບາງ viewports ແຕ່ບໍ່ແມ່ນບ່ອນອື່ນບໍ? ໃຊ້ສະບັບທີ່ຕອບສະຫນອງ (ເຊັ່ນ, .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>

ໃນຖານະເປັນສະເຫມີ, ການນໍາທາງແນວຕັ້ງແມ່ນເປັນໄປໄດ້ໂດຍບໍ່ມີການ <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>

ແຖບ

ເອົາ navigation ພື້ນຖານຈາກຂ້າງເທິງແລະເພີ່ມ .nav-tabsຫ້ອງຮຽນເພື່ອສ້າງການໂຕ້ຕອບແບບແທັບ. ໃຊ້ພວກມັນເພື່ອສ້າງພື້ນທີ່ທີ່ສາມາດ tabbable ໄດ້ດ້ວຍ ແທັບ JavaScript plugin ຂອງພວກເຮົາ .

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

ຢາຄຸມກໍາເນີດ

ເອົາ 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">Disabled</a>
  </li>
</ul>

ຕື່ມຂໍ້ມູນໃສ່ແລະ justify

ບັງຄັບ .navໃຫ້ເນື້ອໃນຂອງທ່ານຂະຫຍາຍຄວາມກວ້າງເຕັມທີ່ຫນຶ່ງຂອງສອງຫ້ອງຮຽນຕົວແກ້ໄຂ. ເພື່ອຕື່ມຂໍ້ມູນໃສ່ພື້ນທີ່ທີ່ມີຢູ່ທັງໝົດດ້ວຍສັດສ່ວນຂອງທ່ານ .nav-item, ໃຫ້ໃຊ້ .nav-fill. ສັງເກດເຫັນວ່າພື້ນທີ່ລວງນອນທັງໝົດຖືກຄອບຄອງ, ແຕ່ບໍ່ແມ່ນທຸກລາຍການ nav ທີ່ມີຄວາມກວ້າງຄືກັນ.

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

ເມື່ອນໍາໃຊ້ການນໍາ <nav>ທາງ -based, ທ່ານສາມາດຍົກເລີກໄດ້ຢ່າງປອດໄພ .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">Disabled</a>
</nav>

ສໍາລັບອົງປະກອບທີ່ມີຄວາມກວ້າງເທົ່າທຽມກັນ, ໃຊ້ .nav-justified. ພື້ນທີ່ລວງນອນທັງໝົດຈະຖືກຄອບຄອງໂດຍລິ້ງ nav, ແຕ່ບໍ່ຄືກັບ .nav-fillຂ້າງເທິງ, ທຸກລາຍການ nav ຈະມີຄວາມກວ້າງຄືກັນ.

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

ຄ້າຍຄືກັນກັບ .nav-fillຕົວຢ່າງທີ່ໃຊ້ການ <nav>ນໍາທາງ -based.

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

ຖ້າທ່ານຕ້ອງການການປ່ຽນແປງ naval ທີ່ຕອບສະຫນອງ, ພິຈາລະນານໍາໃຊ້ຊຸດຂອງ flexbox utilities . ໃນຂະນະທີ່ verbose ຫຼາຍ, ຜົນປະໂຫຍດເຫຼົ່ານີ້ສະຫນອງການປັບແຕ່ງຫຼາຍກວ່າເກົ່າໃນທົ່ວ breakpoints ຕອບສະຫນອງ. ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້, nav ຂອງພວກເຮົາຈະຖືກ stacked ສຸດ breakpoint ຕ່ໍາສຸດ, ຫຼັງຈາກນັ້ນປັບເປັນຮູບແບບອອກຕາມລວງນອນທີ່ຕື່ມຄວາມກວ້າງທີ່ມີຢູ່ເລີ່ມຕົ້ນຈາກ breakpoint ຂະຫນາດນ້ອຍ.

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

ກ່ຽວກັບການເຂົ້າເຖິງ

ຖ້າທ່ານກໍາລັງໃຊ້ navs ເພື່ອສະຫນອງແຖບນໍາທາງ, ໃຫ້ແນ່ໃຈວ່າຈະເພີ່ມໃສ່ role="navigation"ພາຊະນະຕົ້ນຕໍທີ່ມີເຫດຜົນທີ່ສຸດຂອງ <ul>, ຫຼືຫໍ່ <nav>ອົງປະກອບປະມານການນໍາທາງທັງຫມົດ. ຢ່າເພີ່ມບົດບາດໃຫ້ກັບ <ul>ຕົວມັນເອງ, ເພາະວ່ານີ້ຈະປ້ອງກັນບໍ່ໃຫ້ມັນຖືກປະກາດເປັນບັນຊີລາຍຊື່ຕົວຈິງໂດຍເຕັກໂນໂລຢີການຊ່ວຍເຫຼືອ.

ກະລຸ ນາຮັບຊາບວ່າແຖບການນຳທາງ, ເຖິງແມ່ນວ່າຈະຈັດຮູບແບບສາຍຕາເປັນແຖບທີ່ມີ .nav-tabsຊັ້ນ, ບໍ່ຄວນ ໃຫ້ , role="tablist"ຫຼື role="tab"ຄຸນ role="tabpanel"ລັກສະນະຕ່າງໆ. ເຫຼົ່ານີ້ແມ່ນເຫມາະສົມສໍາລັບການໂຕ້ຕອບແຖບແບບເຄື່ອນໄຫວເທົ່ານັ້ນ, ດັ່ງທີ່ອະທິບາຍໄວ້ໃນ WAI ARIA Authoring Practices . ເບິ່ງ ພຶດຕິກໍາຂອງ JavaScript ສໍາລັບການໂຕ້ຕອບແຖບແບບເຄື່ອນໄຫວຢູ່ໃນພາກນີ້ສໍາລັບຕົວຢ່າງ. ຄຸນລັກ ສະ aria-currentນະແມ່ນບໍ່ຈໍາເປັນໃນການໂຕ້ຕອບແຖບແບບເຄື່ອນໄຫວນັບຕັ້ງແຕ່ JavaScript ຂອງພວກເຮົາຈັດການກັບສະຖານະທີ່ເລືອກໂດຍການເພີ່ມ aria-selected="true"ໃສ່ແຖບທີ່ໃຊ້ວຽກ.

ການນໍາໃຊ້ແບບເລື່ອນລົງ

ເພີ່ມເມນູແບບເລື່ອນລົງດ້ວຍ HTML ເພີ່ມເຕີມເລັກນ້ອຍແລະ 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 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>

ຢາເມັດທີ່ມີການຫຼຸດລົງ

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

ຊາສ

ຕົວແປ

$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 Authoring Practices , ຕ້ອງ ການ role="tablist", role="tab", role="tabpanel", ແລະ aria-ຄຸນສົມບັດເພີ່ມເຕີມເພື່ອຖ່າຍທອດໂຄງສ້າງ, ການເຮັດວຽກ ແລະສະຖານະປັດຈຸບັນໃຫ້ກັບຜູ້ໃຊ້ເທັກໂນໂລຍີຊ່ວຍເຫຼືອ (ເຊັ່ນ: ເຄື່ອງອ່ານໜ້າຈໍ). ເປັນການປະຕິບັດທີ່ດີທີ່ສຸດ, ພວກເຮົາແນະນໍາໃຫ້ໃຊ້ <button>ອົງປະກອບສໍາລັບແຖບ, ຍ້ອນວ່າເຫຼົ່ານີ້ແມ່ນການຄວບຄຸມທີ່ເຮັດໃຫ້ເກີດການປ່ຽນແປງແບບເຄື່ອນໄຫວ, ແທນທີ່ຈະເປັນການເຊື່ອມຕໍ່ທີ່ນໍາທາງໄປຫາຫນ້າຫຼືສະຖານທີ່ໃຫມ່.

ກະລຸນາ ຮັບຊາບວ່າອິນເຕີເຟດແຖບແບບໄດນາມິກບໍ່ຄວນ ມີ ເມນູແບບເລື່ອນລົງ, ເພາະວ່ານີ້ເຮັດໃຫ້ເກີດບັນຫາທັງຄວາມສາມາດໃນການໃຊ້ງານ ແລະການເຂົ້າເຖິງ. ຈາກທັດສະນະທີ່ສາມາດນໍາໃຊ້ໄດ້, ຄວາມຈິງທີ່ວ່າອົງປະກອບ trigger ຂອງແຖບທີ່ສະແດງໃນປັດຈຸບັນແມ່ນບໍ່ເຫັນໄດ້ທັນທີ (ຍ້ອນວ່າມັນຢູ່ໃນເມນູເລື່ອນລົງທີ່ປິດ) ສາມາດເຮັດໃຫ້ເກີດຄວາມສັບສົນ. ຈາກທັດສະນະຂອງການເຂົ້າເຖິງ, ປະຈຸບັນບໍ່ມີວິທີການທີ່ສົມເຫດສົມຜົນທີ່ຈະສ້າງການຈັດລຽງນີ້ໄປສູ່ຮູບແບບ WAI ARIA ມາດຕະຖານ, ຊຶ່ງຫມາຍຄວາມວ່າມັນບໍ່ສາມາດເຂົ້າໃຈໄດ້ງ່າຍສໍາລັບຜູ້ໃຊ້ເຕັກໂນໂລຢີການຊ່ວຍເຫຼືອ.

ນີ້ແມ່ນບາງເນື້ອໃນຕົວຍຶດຂອງເນື້ອຫາທີ່ກ່ຽວຂ້ອງຂອງແຖບຫນ້າທໍາອິດ. ການຄລິກແຖບອື່ນຈະສະຫຼັບການເບິ່ງເຫັນອັນນີ້ຕໍ່ໄປ. ແຖບ JavaScript ແລກປ່ຽນບົດຮຽນເພື່ອຄວບຄຸມການເບິ່ງເຫັນເນື້ອຫາ ແລະການຈັດຮູບແບບ. ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້​ມັນ​ກັບ​ແຖບ​, ຢາ​ຄຸມ​ກໍາ​ເນີດ​, ແລະ​ອື່ນໆ .nav-powered ນໍາ​ທິດ​.

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>-based markup, ດັ່ງທີ່ສະແດງຂ້າງເທິງ, ຫຼືກັບຕົວຕົນ "roll your own" markup. ໃຫ້ສັງເກດວ່າຖ້າທ່ານໃຊ້ <nav>, ທ່ານບໍ່ຄວນເພີ່ມ role="tablist"ໂດຍກົງໃສ່ມັນ, ເພາະວ່ານີ້ຈະ override ບົດບາດພື້ນເມືອງຂອງອົງປະກອບທີ່ເປັນຈຸດຫມາຍປາຍທາງນໍາທາງ. ແທນທີ່ຈະ, ປ່ຽນເປັນອົງປະກອບທາງເລືອກ (ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້, ແບບງ່າຍດາຍ <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>

ແຖບ plugin ຍັງເຮັດວຽກກັບຢາເມັດ.

ນີ້ແມ່ນບາງເນື້ອໃນຕົວຍຶດຂອງເນື້ອຫາທີ່ກ່ຽວຂ້ອງຂອງແຖບຫນ້າທໍາອິດ. ການຄລິກແຖບອື່ນຈະສະຫຼັບການເບິ່ງເຫັນອັນນີ້ຕໍ່ໄປ. ແຖບ JavaScript ແລກປ່ຽນບົດຮຽນເພື່ອຄວບຄຸມການເບິ່ງເຫັນເນື້ອຫາ ແລະການຈັດຮູບແບບ. ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້​ມັນ​ກັບ​ແຖບ​, ຢາ​ຄຸມ​ກໍາ​ເນີດ​, ແລະ​ອື່ນໆ .nav-powered ນໍາ​ທິດ​.

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-powered ນໍາ​ທິດ​.

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 button'))
triggerTabList.forEach(function (triggerEl) {
  var tabTrigger = new bootstrap.Tab(triggerEl)

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

ທ່ານສາມາດເປີດໃຊ້ແທັບສ່ວນບຸກຄົນໄດ້ຫຼາຍວິທີ:

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ໃສ່ແຕ່ລະອັນ .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>

ວິທີການ

ວິ​ທີ​ການ asynchronous ແລະ​ການ​ຫັນ​ປ່ຽນ​

ວິທີການ API ທັງໝົດແມ່ນ asynchronous ແລະເລີ່ມການ ຫັນປ່ຽນ . ພວກເຂົາກັບຄືນໄປຫາຜູ້ໂທທັນທີທີ່ການຫັນປ່ຽນເລີ່ມຕົ້ນແຕ່ ກ່ອນທີ່ມັນຈ��ສິ້ນສຸດລົງ . ນອກຈາກນັ້ນ, ການໂທຫາວິທີການກ່ຽວກັບ ອົງປະກອບຂອງການປ່ຽນແປງຈະຖືກລະເລີຍ .

ເບິ່ງເອກະສານ JavaScript ຂອງພວກເຮົາສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ .

constructor

ເປີດໃຊ້ອົງປະກອບແຖບ ແລະຕົວບັນຈຸເນື້ອຫາ. ແຖບຄວນຈະມີ data-bs-targetຫຼື, ຖ້າໃຊ້ການເຊື່ອມຕໍ່, hrefຄຸນລັກສະນະ, ກໍານົດເປົ້າຫມາຍ node container ໃນ 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

ເລືອກແຖບທີ່ໃຫ້ມາ ແລະສະແດງແຖບທີ່ກ່ຽວຂ້ອງຂອງມັນ. ແຖບອື່ນໃດກໍໄດ້ທີ່ເລືອກໄວ້ກ່ອນໜ້ານີ້ຈະກາຍເປັນທີ່ບໍ່ເລືອກ ແລະແຖບທີ່ກ່ຽວຂ້ອງຂອງມັນຖືກເຊື່ອງໄວ້. ກັບຄືນໄປຫາຜູ້ໂທກ່ອນທີ່ແຖບແຖບໄດ້ຖືກສະແດງໃຫ້ເຫັນຕົວຈິງ (ເຊັ່ນ: ກ່ອນທີ່ shown.bs.tabເຫດການຈະເກີດຂື້ນ).

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

  tab.show()

dispose

ທໍາລາຍແຖບຂອງອົງປະກອບ.

getInstance

ວິທີການ ຄົງ ທີ່ທີ່ອະນຸຍາດໃຫ້ທ່ານໄດ້ຮັບຕົວຢ່າງແຖບທີ່ກ່ຽວຂ້ອງກັບອົງປະກອບ DOM

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

getOrCreateInstance

ວິທີການ ຄົງ ທີ່ທີ່ອະນຸຍາດໃຫ້ທ່ານໄດ້ຮັບຕົວຢ່າງແຖບທີ່ກ່ຽວຂ້ອງກັບອົງປະກອບ DOM, ຫຼືສ້າງອັນໃຫມ່ໃນກໍລະນີທີ່ມັນບໍ່ໄດ້ຖືກເລີ່ມຕົ້ນ.

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

Events

ເມື່ອສະແດງແຖບໃໝ່, ເຫດການຈະເກີດຂຶ້ນຕາມລຳດັບຕໍ່ໄປນີ້:

  1. hide.bs.tab(ຢູ່ໃນແຖບທີ່ໃຊ້ງານໃນປັດຈຸບັນ)
  2. show.bs.tab(ຢູ່ໃນແຖບທີ່ຈະຖືກສະແດງ)
  3. hidden.bs.tab(ໃນແຖບທີ່ໃຊ້ງານຜ່ານມາ, ອັນດຽວກັນກັບ hide.bs.tabເຫດການ)
  4. 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
})