Navs និងផ្ទាំង
ឯកសារ និងឧទាហរណ៍សម្រាប់របៀបប្រើសមាសធាតុរុករកដែលរួមបញ្ចូលរបស់ Bootstrap ។
មូលដ្ឋាន nav
ការរុករកដែលមាននៅក្នុង Bootstrap ចែករំលែកការសម្គាល់ទូទៅ និងរចនាប័ទ្ម ពី .nav
ថ្នាក់មូលដ្ឋាន រហូតដល់ស្ថានភាពសកម្ម និងបិទ។ ប្តូរថ្នាក់កែប្រែដើម្បីប្តូររវាងរចនាប័ទ្មនីមួយៗ។
សមាសធាតុ មូលដ្ឋាន .nav
ត្រូវបានសាងសង់ជាមួយ flexbox និងផ្តល់នូវមូលដ្ឋានគ្រឹះដ៏រឹងមាំសម្រាប់ការសាងសង់សមាសធាតុរុករកគ្រប់ប្រភេទ។ វារួមបញ្ចូលការបដិសេធរចនាប័ទ្មមួយចំនួន (សម្រាប់ធ្វើការជាមួយបញ្ជី) បន្ទះតំណភ្ជាប់មួយចំនួនសម្រាប់តំបន់បុកធំជាងមុន និងរចនាប័ទ្មបិទដំណើរការជាមូលដ្ឋាន។
សមាសភាគ មូលដ្ឋាន .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 ។ តាមលំនាំដើម 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
ឧបករណ៍ប្រើប្រាស់។ ត្រូវការដាក់វានៅលើច្រកមើលមួយចំនួន ប៉ុន្តែមិនមែនកន្លែងផ្សេងទេ? ប្រើកំណែឆ្លើយតប (ឧ, .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>
ផ្ទាំង
យក nav មូលដ្ឋានពីខាងលើ ហើយបន្ថែម .nav-tabs
ថ្នាក់ ដើម្បីបង្កើតចំណុចប្រទាក់ផ្ទាំង។ ប្រើពួកវាដើម្បីបង្កើតតំបន់ដែលអាចដាក់បានដោយប្រើ ផ្ទាំងជំនួយ JavaScript របស់យើង ។
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled">Disabled</a>
</li>
</ul>
ថ្នាំគ្រាប់
យក 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>
បំពេញនិងបង្ហាញភាពត្រឹមត្រូវ
បង្ខំ .nav
មាតិការបស់អ្នកឱ្យពង្រីកទទឹងដែលមានពេញលេញមួយក្នុងចំណោមថ្នាក់កែប្រែពីរ។ ដើម្បីបំពេញទំហំដែលមានទាំងអស់តាមសមាមាត្រជាមួយ .nav-item
s របស់អ្នក សូមប្រើ .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>
ការរុករកតាមមូលដ្ឋាន អ្នកអាចលុបចេញដោយសុវត្ថិភាព .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
ប្រសិនបើអ្នកត្រូវការបំរែបំរួល navigation ដែលឆ្លើយតប សូមពិចារណាប្រើ ឧបករណ៍ប្រើប្រាស់ flexbox ជាបន្តបន្ទាប់ ។ ខណៈពេលដែលពាក្យសំដីច្រើន ឧបករណ៍ប្រើប្រាស់ទាំងនេះផ្តល់នូវការប្ដូរតាមបំណងកាន់តែច្រើននៅទូទាំងចំណុចឈប់ដែលឆ្លើយតប។ នៅក្នុងឧទាហរណ៍ខាងក្រោម nav របស់យើងនឹងត្រូវបានដាក់ជង់លើចំណុចបំបែកទាបបំផុត បន្ទាប់មកសម្របទៅនឹងប្លង់ផ្ដេកដែលបំពេញទទឹងដែលមានដោយចាប់ផ្តើមពីចំនុចបំបែកតូច។
<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 បន្ថែមតិចតួច និង កម្មវិធីជំនួយ 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
រុករកដោយថាមពលផ្សេងទៀត។
នេះជាមាតិកាកន្លែងដាក់មួយចំនួនដែលមាតិកា ដែលទាក់ទង របស់ផ្ទាំង កម្រងព័ត៌មាន។ ការចុចផ្ទាំងមួយផ្សេងទៀតនឹងបិទបើកលទ្ធភាពមើលឃើញរបស់ផ្ទាំងមួយនេះសម្រាប់បន្ទាប់។ ផ្ទាំង JavaScript ប្តូរថ្នាក់ ដើម្បីគ្រប់គ្រងលទ្ធភាពមើលឃើញខ្លឹមសារ និងរចនាប័ទ្ម។ អ្នកអាចប្រើវាជាមួយនឹងផ្ទាំង ថ្នាំគ្រាប់ និងការ .nav
រុករកដោយថាមពលផ្សេងទៀត។
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 ដូចដែលបានបង្ហាញខាងលើ ឬជាមួយនឹងការសម្គាល់ "រមៀលផ្ទាល់ខ្លួនរបស់អ្នក" តាមអំពើចិត្តណាមួយ។ ចំណាំថាប្រសិនបើអ្នកកំពុងប្រើ <nav>
អ្នកមិនគួរបន្ថែម role="tablist"
ដោយផ្ទាល់ទៅវាទេ ព្រោះវានឹងបដិសេធតួនាទីដើមរបស់ធាតុដែលជាទីតាំងសម្គាល់រុករក។ ជំនួសមកវិញ សូមប្តូរទៅធាតុជំនួស (ក្នុងឧទាហរណ៍ខាងក្រោម សាមញ្ញ <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>
កម្មវិធីជំនួយផ្ទាំងក៏ដំណើរការជាមួយថ្នាំគ្រាប់ផងដែរ។
នេះគឺជាមាតិកាកន្លែងដាក់មួយចំនួនដែលមាតិកា ដែលពាក់ព័ន្ធ របស់ផ្ទាំងដើម ។ ការចុចផ្ទាំងមួយផ្សេងទៀតនឹងបិទបើកលទ្ធភាពមើលឃើញរបស់ផ្ទាំងមួយនេះសម្រាប់បន្ទាប់។ ផ្ទាំង JavaScript ប្តូរថ្នាក់ ដើម្បីគ្រប់គ្រងលទ្ធភាពមើលឃើញខ្លឹមសារ និងរចនាប័ទ្ម។ អ្នកអាចប្រើវាជាមួយនឹងផ្ទាំង ថ្នាំគ្រាប់ និងការ .nav
រុករកដោយថាមពលផ្សេងទៀត។
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
រុករកដោយថាមពលផ្សេងទៀត។
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 មានតែផ្ទាំងសកម្មបច្ចុប្បន្នប៉ុណ្ណោះដែលទទួលបានការផ្តោតលើក្ដារចុច។ នៅពេលដែលកម្មវិធីជំនួយ JavaScript ត្រូវបានចាប់ផ្តើម វានឹងកំណត់ tabindex="-1"
លើការគ្រប់គ្រងផ្ទាំងអសកម្មទាំងអស់។ នៅពេលដែលផ្ទាំងសកម្មបច្ចុប្បន្នមានការផ្តោតអារម្មណ៍ គ្រាប់ចុចទស្សន៍ទ្រនិចធ្វើឱ្យផ្ទាំងមុន/បន្ទាប់សកម្ម ដោយមានកម្មវិធីជំនួយផ្លាស់ប្តូរការ វិលtabindex
ទៅតាមនោះ។ ទោះជាយ៉ាងណាក៏ដោយ ចំណាំថាកម្មវិធីជំនួយ 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>
វិធីសាស្រ្ត
វិធីសាស្រ្ត និងការផ្លាស់ប្តូរអសមកាល
វិធីសាស្រ្ត API ទាំងអស់គឺ អសមកាល ហើយចាប់ផ្តើមការ ផ្លាស់ប្តូរ ។ ពួកគេត្រឡប់ទៅអ្នកហៅចូលវិញភ្លាមៗ នៅពេលដែលការផ្លាស់ប្តូរត្រូវបានចាប់ផ្តើម ប៉ុន្តែ មុនពេលវាបញ្ចប់ ។ លើសពីនេះទៀត ការហៅតាមវិធីសាស្ត្រលើ សមាសភាគអន្តរកាលនឹងត្រូវបានមិនអើពើ ។
ធ្វើឱ្យមាតិការបស់អ្នកសកម្មជាធាតុផ្ទាំង។
អ្នកអាចបង្កើត tab 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
})