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"
ລັກສະນະຕ່າງໆ. ເຫຼົ່ານີ້ແມ່ນເຫມາະສົມສໍາລັບການໂຕ້ຕອບແຖບແບບໄດນາມິກເທົ່ານັ້ນ, ດັ່ງທີ່ອະທິບາຍໄວ້ໃນ ຮູບແບບແຖບຄູ່ມືການປະຕິບັດຂອງ ARIA . ເບິ່ງ ພຶດຕິກໍາຂອງ 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>
CSS
ຕົວແປ
ເພີ່ມໃນ v5.2.0ເປັນສ່ວນຫນຶ່ງຂອງວິທີການຕົວແປ CSS ທີ່ພັດທະນາຂອງ Bootstrap, ປະຈຸບັນ navs ໃຊ້ຕົວແປ CSS ທ້ອງຖິ່ນໃນ .nav
, .nav-tabs
, ແລະ .nav-pills
ສໍາລັບການປັບແຕ່ງເວລາທີ່ແທ້ຈິງ. ຄ່າສໍາລັບຕົວແປ CSS ແມ່ນຖືກກໍານົດຜ່ານ Sass, ດັ່ງນັ້ນການປັບແຕ່ງ Sass ຍັງຖືກສະຫນັບສະຫນູນ, ເຊັ່ນກັນ.
ໃນ .nav
ຫ້ອງຮຽນພື້ນຖານ:
--#{$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};
ໃນ .nav-tabs
ຫ້ອງດັດແກ້:
--#{$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};
ໃນ .nav-pills
ຫ້ອງດັດແກ້:
--#{$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
$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
ໃຊ້ແທັບແທໍບ JavaScript - ລວມທັງມັນສ່ວນບຸກຄົນຫຼືຜ່ານ bootstrap.js
ໄຟລ໌ທີ່ລວບລວມ - ເພື່ອຂະຫຍາຍແຖບນໍາທາງແລະຢາຂອງພວກເຮົາເພື່ອສ້າງແຖບຕາຕະລາງຂອງເນື້ອຫາທ້ອງຖິ່ນ.
ນີ້ແມ່ນບາງເນື້ອໃນຕົວຍຶດຂອງເນື້ອຫາ ທີ່ກ່ຽວຂ້ອງ ຂອງແຖບຫນ້າທໍາອິດ . ການຄລິກແຖບອື່ນຈະສະຫຼັບການເບິ່ງເຫັນອັນນີ້ຕໍ່ໄປ. ແຖບ JavaScript ແລກປ່ຽນບົດຮຽນເພື່ອຄວບຄຸມການເບິ່ງເຫັນເນື້ອຫາ ແລະການຈັດຮູບແບບ. ທ່ານສາມາດນໍາໃຊ້ມັນກັບແຖບ, ຢາຄຸມກໍາເນີດ, ແລະອື່ນໆ .nav
-powered ນໍາທິດ.
ນີ້ແມ່ນບາງເນື້ອໃນຕົວຍຶດຂອງ ແຖບໂປຣໄຟລ ໌. ການຄລິກແຖບອື່ນຈະສະຫຼັບການເບິ່ງເຫັນອັນນີ້ຕໍ່ໄປ. ແຖບ JavaScript ແລກປ່ຽນບົດຮຽນເພື່ອຄວບຄຸມການເບິ່ງເຫັນເນື້ອຫາ ແລະການຈັດຮູບແບບ. ທ່ານສາມາດນໍາໃຊ້ມັນກັບແຖບ, ຢາຄຸມກໍາເນີດ, ແລະອື່ນໆ .nav
-powered ນໍາທິດ.
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>
ເພື່ອຊ່ວຍໃຫ້ເຫມາະສົມກັບຄວາມຕ້ອງການຂອງທ່ານ, ນີ້ເຮັດວຽກກັບ <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>
<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>
ແຖບ 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.
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>
ແລະດ້ວຍຢາເມັດຕັ້ງ. ໂດຍວິທີ ທາງການ, ສໍາລັບແຖບຕັ້ງ, ທ່ານຄວນເພີ່ມ aria-orientation="vertical"
ໃສ່ກ່ອງບັນຊີລາຍຊື່ແຖບ.
ນີ້ແມ່ນບາງເນື້ອໃນຕົວຍຶດຂອງເນື້ອຫາ ທີ່ກ່ຽວຂ້ອງ ຂອງແຖບຫນ້າທໍາອິດ . ການຄລິກແຖບອື່ນຈະສະຫຼັບການເບິ່ງເຫັນອັນນີ້ຕໍ່ໄປ. ແຖບ 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 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>
ການເຂົ້າເຖິງ
ການໂຕ້ຕອບແຖບແບບໄດນາມິກ, ດັ່ງທີ່ອະທິບາຍໄວ້ໃນ ຮູບແບບແຖບຄູ່ມືການປະຕິບັດການ ARIA , ຕ້ອງ role="tablist"
ການ , role="tab"
, role="tabpanel"
, ແລະ aria-
ຄຸນສົມບັດເພີ່ມເຕີມເພື່ອຖ່າຍທອດໂຄງສ້າງ, ການເຮັດວຽກ ແລະສະຖານະຂອງພວກມັນໃຫ້ກັບຜູ້ໃຊ້ເທັກໂນໂລຍີຊ່ວຍເຫຼືອ (ເຊັ່ນ: ຕົວອ່ານໜ້າຈໍ). ເປັນການປະຕິບັດທີ່ດີທີ່ສຸດ, ພວກເຮົາແນະນໍາໃຫ້ໃຊ້ <button>
ອົງປະກອບສໍາລັບແຖບ, ຍ້ອນວ່າເຫຼົ່ານີ້ແມ່ນການຄວບຄຸມທີ່ເຮັດໃຫ້ເກີດການປ່ຽນແປງແບບເຄື່ອນໄຫວ, ແທນທີ່ຈະເປັນການເຊື່ອມຕໍ່ທີ່ນໍາທາງໄປຫາຫນ້າຫຼືສະຖານທີ່ໃຫມ່.
ສອດຄ່ອງກັບຮູບແບບການປະຕິບັດການຂຽນຂອງ ARIA, ພຽງແຕ່ແຖບທີ່ເປີດໃຊ້ໃນປັດຈຸບັນເທົ່ານັ້ນທີ່ໄດ້ຮັບໂຟກັສແປ້ນພິມ. ເມື່ອ plugin JavaScript ຖືກເລີ່ມຕົ້ນ, ມັນຈະຕັ້ງ tabindex="-1"
ຢູ່ໃນການຄວບຄຸມແຖບທີ່ບໍ່ມີການເຄື່ອນໄຫວທັງຫມົດ. ເມື່ອແຖບທີ່ເປີດໃຊ້ໃນປັດຈຸບັນມີຈຸດສຸມ, ປຸ່ມຕົວກະພິບເປີດໃຊ້ແຖບກ່ອນຫນ້າ / ຕໍ່ໄປ, ດ້ວຍ plugin ປ່ຽນແປງການ rovingtabindex
ຕາມຄວາມເຫມາະສົມ. ຢ່າງໃດກໍຕາມ, ໃຫ້ສັງເກດວ່າ plugin JavaScript ບໍ່ໄດ້ຈໍາແນກລະຫວ່າງລາຍຊື່ແຖບແນວນອນແລະແນວຕັ້ງໃນເວລາທີ່ມັນມາກັບການໂຕ້ຕອບທີ່ສໍາຄັນຂອງຕົວກະພິບ: ໂດຍບໍ່ຄໍານຶງເຖິງທິດທາງຂອງບັນຊີລາຍຊື່ແຖບ, ທັງຕົວກະພິບຂຶ້ນ ແລະ ຊ້າຍໄປຫາແຖບກ່ອນຫນ້າ, ແລະຕົວກະພິບລົງ ແລະ ຂວາໄປຫາ. ແຖບຕໍ່ໄປ.
tabindex="0"
ເຄື່ອງຫມາຍຂອງທ່ານ.
ການນໍາໃຊ້ຄຸນລັກສະນະຂໍ້ມູນ
ທ່ານສາມາດກະຕຸ້ນການນໍາທາງແຖບຫຼືຢາໂດຍບໍ່ມີການຂຽນ 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" 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
ເປີດໃຊ້ແທັບທີ່ສາມາດເປີດໄດ້ຜ່ານ JavaScript (ແຕ່ລະແທັບຕ້ອງຖືກເປີດໃຊ້ເປັນແຕ່ລະອັນ):
const triggerTabList = document.querySelectorAll('#myTab button')
triggerTabList.forEach(triggerEl => {
const tabTrigger = new bootstrap.Tab(triggerEl)
triggerEl.addEventListener('click', event => {
event.preventDefault()
tabTrigger.show()
})
})
ທ່ານສາມາດເປີດໃຊ້ແທັບສ່ວນບຸກຄົນໄດ້ຫຼາຍວິທີ:
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
ເສື່ອມຜົນ
ເພື່ອເຮັດໃຫ້ແຖບຫາຍໄປ, ເພີ່ມ .fade
ໃສ່ແຕ່ລະອັນ .tab-pane
. ແຖບແຖບທໍາອິດຕ້ອງມີ .show
ເພື່ອເຮັດໃຫ້ເນື້ອຫາເບື້ອງຕົ້ນເຫັນໄດ້.
<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>
ວິທີການ
ວິທີການ asynchronous ແລະການຫັນປ່ຽນ
ວິທີການ API ທັງໝົດແມ່ນ asynchronous ແລະເລີ່ມການ ຫັນປ່ຽນ . ພວກເຂົາກັບຄືນໄປຫາຜູ້ໂທທັນທີທີ່ການຫັນປ່ຽນເລີ່ມຕົ້ນແຕ່ ກ່ອນທີ່ມັນຈະສິ້ນສຸດລົງ . ນອກຈາກນັ້ນ, ການໂທຫາວິທີການກ່ຽວກັບ ອົງປະກອບຂອງການປ່ຽນແປງຈະຖືກລະເລີຍ .
ເປີດໃຊ້ເນື້ອຫາຂອງທ່ານເປັນອົງປະກອບແຖບ.
ທ່ານສາມາດສ້າງແທັບ instance ກັບ constructor, ຕົວຢ່າງ:
const bsTab = new bootstrap.Tab('#myTab')
ວິທີການ | ລາຍລະອຽດ |
---|---|
dispose |
ທໍາລາຍແຖບຂອງອົງປະກອບ. |
getInstance |
ວິທີການຄົງທີ່ທີ່ອະນຸຍາດໃຫ້ທ່ານໄດ້ຮັບຕົວຢ່າງແຖບທີ່ກ່ຽວຂ້ອງກັບອົງປະກອບ DOM, ທ່ານສາມາດນໍາໃຊ້ມັນເຊັ່ນນີ້: bootstrap.Tab.getInstance(element) . |
getOrCreateInstance |
ວິທີການຄົງທີ່ທີ່ຈະສົ່ງຄືນຕົວຢ່າງແຖບທີ່ກ່ຽວຂ້ອງກັບອົງປະກອບ DOM ຫຼືສ້າງອັນໃຫມ່ໃນກໍລະນີທີ່ມັນບໍ່ໄດ້ຖືກເລີ່ມຕົ້ນ. ທ່ານສາມາດນໍາໃຊ້ມັນເຊັ່ນນີ້: bootstrap.Tab.getOrCreateInstance(element) . |
show |
ເລືອກແຖບທີ່ໃຫ້ມາ ແລະສະແດງແຖບທີ່ກ່ຽວຂ້ອງຂອງມັນ. ແຖບອື່ນໃດກໍໄດ້ທີ່ເລືອກໄວ້ກ່ອນໜ້ານີ້ຈະກາຍເປັນທີ່ບໍ່ເລືອກ ແລະແຖບທີ່ກ່ຽວຂ້ອງຂອງມັນຖືກເຊື່ອງໄວ້. ກັບຄືນໄປຫາຜູ້ໂທກ່ອນທີ່ແຖບແຖບໄດ້ຖືກສະແດງໃຫ້ເຫັນຕົວຈິງ (ເຊັ່ນ: ກ່ອນທີ່ shown.bs.tab ເຫດການຈະເກີດຂື້ນ). |
ເຫດການ
ເມື່ອສະແດງແຖບໃໝ່, ເຫດການຈະເກີດຂຶ້ນຕາມລຳດັບຕໍ່ໄປນີ້:
hide.bs.tab
(ຢູ່ໃນແຖບທີ່ໃຊ້ງານໃນປັດຈຸບັນ)show.bs.tab
(ຢູ່ໃນແຖບທີ່ຈະຖືກສະແດງ)hidden.bs.tab
(ໃນແຖບທີ່ໃຊ້ງານຜ່ານມາ, ອັນດຽວກັນກັບhide.bs.tab
ເຫດການ)shown.bs.tab
(ຢູ່ໃນແຖບທີ່ຫາກໍສະແດງໃໝ່ທີ່ເປີດໃໝ່, ອັນດຽວກັນກັບshow.bs.tab
ເຫດການ)
ຖ້າບໍ່ມີແຖບໃດຖືກເປີດໃຊ້ຢູ່ກ່ອນແລ້ວ, ເຫດການ hide.bs.tab
ແລະ hidden.bs.tab
ເຫດການຈະບໍ່ຖືກຍິງອອກ.
ປະເພດເຫດການ | ລາຍລະອຽດ |
---|---|
hide.bs.tab |
ເຫດການນີ້ຈະດັບໄຟເມື່ອແຖບໃໝ່ຈະຖືກສະແດງ (ແລະດັ່ງນັ້ນແຖບທີ່ເປີດໃຊ້ກ່ອນໜ້າຈະຖືກເຊື່ອງໄວ້). ໃຊ້ event.target ແລະ event.relatedTarget ເພື່ອແນເປົ້າໃສ່ແຖບທີ່ໃຊ້ງານໃນປັດຈຸບັນ ແລະແຖບໃໝ່ທີ່ກຳລັງຈະເປີດໃຊ້ໃນໄວໆນີ້, ຕາມລໍາດັບ. |
hidden.bs.tab |
ເຫດການນີ້ໄຟໄຫມ້ຫຼັງຈາກແຖບໃຫມ່ຖືກສະແດງ (ແລະດັ່ງນັ້ນແຖບທີ່ເຮັດວຽກຜ່ານມາຖືກເຊື່ອງໄວ້). ໃຊ້ event.target ແລະ event.relatedTarget ເພື່ອແນເປົ້າໃສ່ແຖບທີ່ໃຊ້ວຽກກ່ອນໜ້າ ແລະແຖບທີ່ເຄື່ອນໄຫວໃໝ່ຕາມລຳດັບ. |
show.bs.tab |
ເຫດການນີ້ເລີ່ມເປີດໃນການສະແດງແຖບ, ແຕ່ກ່ອນທີ່ແຖບໃໝ່ຈະຖືກສະແດງ. ໃຊ້ event.target ແລະ event.relatedTarget ເພື່ອແນເປົ້າໃສ່ແຖບທີ່ໃຊ້ວຽກ ແລະແຖບທີ່ໃຊ້ງານຜ່ານມາ (ຖ້າມີ) ຕາມລໍາດັບ. |
shown.bs.tab |
ເຫດການນີ້ຈະເລີ່ມສະແດງໃນແຖບສະແດງຫຼັງຈາກແຖບຖືກສະແດງ. ໃຊ້ event.target ແລະ event.relatedTarget ເພື່ອແນເປົ້າໃສ່ແຖບທີ່ໃຊ້ວຽກ ແລະແຖບທີ່ໃຊ້ງານຜ່ານມາ (ຖ້າມີ) ຕາມລໍາດັບ. |
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
})