Група листа
Групе листа су флексибилна и моћна компонента за приказивање низа садржаја. Измените их и проширите да подрже скоро сваки садржај унутар.
Основни пример
Најосновнија група листа је неуређена листа са ставкама листе и одговарајућим класама. Надоградите га са опцијама које следе или са сопственим ЦСС-ом по потреби.
- Ставка
- Друга ставка
- Трећа ставка
- Четврта ставка
- И пети
<ul class="list-group">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
Активне ставке
Додајте .active
у а .list-group-item
да бисте означили тренутни активни избор.
- Активна ставка
- Друга ставка
- Трећа ставка
- Четврта ставка
- И пети
<ul class="list-group">
<li class="list-group-item active" aria-current="true">An active item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
Онемогућене ставке
Додајте .disabled
у а .list-group-item
да би изгледало онемогућено. Имајте на уму да ће неки елементи са .disabled
такође захтевати прилагођени ЈаваСцрипт да би у потпуности онемогућили кликове (нпр. везе).
- Онемогућена ставка
- Друга ставка
- Трећа ставка
- Четврта ставка
- И пети
<ul class="list-group">
<li class="list-group-item disabled" aria-disabled="true">A disabled item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
Везе и дугмад
Користите <a>
с или <button>
с да бисте креирали ставке групе листе које се могу извршити са стањем лебдења, онемогућеним и активним додавањем .list-group-item-action
. Одвајамо ове псеудо-класе како бисмо осигурали да групе листа направљене од неинтерактивних елемената (као што су <li>
с или <div>
с) не пружају могућност клика или додира.
Уверите се да не користите стандардне .btn
класе овде .
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
The current link item
</a>
<a href="#" class="list-group-item list-group-item-action">A second link item</a>
<a href="#" class="list-group-item list-group-item-action">A third link item</a>
<a href="#" class="list-group-item list-group-item-action">A fourth link item</a>
<a class="list-group-item list-group-item-action disabled">A disabled link item</a>
</div>
Са <button>
с, такође можете користити disabled
атрибут уместо .disabled
класе. Нажалост, <a>
с не подржавају атрибут дисаблед.
<div class="list-group">
<button type="button" class="list-group-item list-group-item-action active" aria-current="true">
The current button
</button>
<button type="button" class="list-group-item list-group-item-action">A second item</button>
<button type="button" class="list-group-item list-group-item-action">A third button item</button>
<button type="button" class="list-group-item list-group-item-action">A fourth button item</button>
<button type="button" class="list-group-item list-group-item-action" disabled>A disabled button item</button>
</div>
Флусх
Додајте .list-group-flush
да бисте уклонили неке ивице и заобљене углове да бисте приказали ставке групе листе од ивице до ивице у родитељском контејнеру (нпр. картице).
- Ставка
- Друга ставка
- Трећа ставка
- Четврта ставка
- И пети
<ul class="list-group list-group-flush">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
Нумерисано
Додајте .list-group-numbered
класу модификатора (и опционо користите <ol>
елемент) да бисте се укључили у нумерисане ставке групе. Бројеви се генеришу преко ЦСС-а (за разлику од <ol>
подразумеваног стила претраживача) ради бољег постављања унутар ставки групе листе и да би се омогућило боље прилагођавање.
Бројеви се генеришу помоћу counter-reset
на <ol>
, а затим се стилизују и постављају ::before
псеудоелементом на <li>
со counter-increment
и content
.
- Ставка листе
- Ставка листе
- Ставка листе
<ol class="list-group list-group-numbered">
<li class="list-group-item">A list item</li>
<li class="list-group-item">A list item</li>
<li class="list-group-item">A list item</li>
</ol>
Они одлично функционишу и са прилагођеним садржајем.
-
ПоднасловСадржај за ставку листе
-
ПоднасловСадржај за ставку листе
-
ПоднасловСадржај за ставку листе
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Content for list item
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Content for list item
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Content for list item
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
</ol>
Хоризонтално
Додајте .list-group-horizontal
да бисте променили изглед ставки групе листе са вертикалног на хоризонталан на свим тачкама прекида. Алтернативно, изаберите прилагодљиву варијанту .list-group-horizontal-{sm|md|lg|xl|xxl}
да бисте групу листе направили хоризонталном почевши од те тачке прекида min-width
. Групе хоризонталних листа тренутно се не могу комбиновати са групама листе за испирање.
Савет: Желите ли ставке групе листе једнаке ширине када су хоризонталне? Додајте .flex-fill
у сваку ставку групе листе.
- Ставка
- Друга ставка
- Трећа ставка
- Ставка
- Друга ставка
- Трећа ставка
- Ставка
- Друга ставка
- Трећа ставка
- Ставка
- Друга ставка
- Трећа ставка
- Ставка
- Друга ставка
- Трећа ставка
- Ставка
- Друга ставка
- Трећа ставка
<ul class="list-group list-group-horizontal">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-sm">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-md">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-lg">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-xl">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-xxl">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
Контекстуалне класе
Користите контекстуалне класе за стилизовање ставки листе са позадином и бојом која садржи стање.
- Једноставна подразумевана групна ставка листе
- Једноставна примарна групна ставка
- Једноставна секундарна групна ставка
- Једноставна групна ставка листе успеха
- Једноставна ставка листе опасности
- Једноставна групна ставка листе упозорења
- Једноставна групна ставка са листе информација
- Једноставна група светлеће листе
- Једноставна групна ставка тамне листе
<ul class="list-group">
<li class="list-group-item">A simple default list group item</li>
<li class="list-group-item list-group-item-primary">A simple primary list group item</li>
<li class="list-group-item list-group-item-secondary">A simple secondary list group item</li>
<li class="list-group-item list-group-item-success">A simple success list group item</li>
<li class="list-group-item list-group-item-danger">A simple danger list group item</li>
<li class="list-group-item list-group-item-warning">A simple warning list group item</li>
<li class="list-group-item list-group-item-info">A simple info list group item</li>
<li class="list-group-item list-group-item-light">A simple light list group item</li>
<li class="list-group-item list-group-item-dark">A simple dark list group item</li>
</ul>
Контекстуалне класе такође раде са .list-group-item-action
. Обратите пажњу на додавање стилова лебдења који овде није присутан у претходном примеру. Подржана је и .active
држава; примените га да бисте означили активну селекцију на ставки групе контекстуалне листе.
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action">A simple default list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-primary">A simple primary list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-secondary">A simple secondary list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-success">A simple success list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-danger">A simple danger list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-warning">A simple warning list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-info">A simple info list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-light">A simple light list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-dark">A simple dark list group item</a>
</div>
Преношење значења помоћним технологијама
Коришћење боје за додавање значења пружа само визуелну индикацију, која се неће пренети корисницима помоћних технологија – као што су читачи екрана. Уверите се да су информације означене бојом или очигледне из самог садржаја (нпр. видљиви текст), или су укључене путем алтернативних средстава, као што је додатни текст скривен .visually-hidden
класом.
Са значкама
Додајте значке било којој групи листе да бисте приказали непрочитане бројеве, активности и још много тога уз помоћ неких услужних програма .
- Ставка листе14
- Друга ставка листе2
- Трећа ставка листе1
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-center">
A list item
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
A second list item
<span class="badge bg-primary rounded-pill">2</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
A third list item
<span class="badge bg-primary rounded-pill">1</span>
</li>
</ul>
Прилагођени садржај
Додајте скоро било који ХТМЛ унутар, чак и за групе повезаних листа попут оне испод, уз помоћ флекбок услужних програма .
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small>3 days ago</small>
</div>
<p class="mb-1">Some placeholder content in a paragraph.</p>
<small>And some small print.</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small class="text-muted">3 days ago</small>
</div>
<p class="mb-1">Some placeholder content in a paragraph.</p>
<small class="text-muted">And some muted small print.</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small class="text-muted">3 days ago</small>
</div>
<p class="mb-1">Some placeholder content in a paragraph.</p>
<small class="text-muted">And some muted small print.</small>
</a>
</div>
Поља за потврду и радио
Поставите Боотстрап поља за потврду и радио у оквиру ставки групе листе и прилагодите их по потреби. Можете их користити без <label>
с, али не заборавите да укључите aria-label
атрибут и вредност за приступачност.
- Прво поље за потврду
- Друго поље за потврду
- Треће поље за потврду
- Четврто поље за потврду
- Пето поље за потврду
<ul class="list-group">
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
First checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Second checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Third checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Fourth checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Fifth checkbox
</li>
</ul>
А ако желите да <label>
је .list-group-item
за велика погођена подручја, можете и то да урадите.
<div class="list-group">
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
First checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Second checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Third checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Fourth checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Fifth checkbox
</label>
</div>
Сасс
Променљиве
$list-group-color: $gray-900;
$list-group-bg: $white;
$list-group-border-color: rgba($black, .125);
$list-group-border-width: $border-width;
$list-group-border-radius: $border-radius;
$list-group-item-padding-y: $spacer * .5;
$list-group-item-padding-x: $spacer;
$list-group-item-bg-scale: -80%;
$list-group-item-color-scale: 40%;
$list-group-hover-bg: $gray-100;
$list-group-active-color: $component-active-color;
$list-group-active-bg: $component-active-bg;
$list-group-active-border-color: $list-group-active-bg;
$list-group-disabled-color: $gray-600;
$list-group-disabled-bg: $list-group-bg;
$list-group-action-color: $gray-700;
$list-group-action-hover-color: $list-group-action-color;
$list-group-action-active-color: $body-color;
$list-group-action-active-bg: $gray-200;
Микинс
Користи се у комбинацији са $theme-colors
за генерисање класа контекстуалних варијанти за .list-group-item
с.
@mixin list-group-item-variant($state, $background, $color) {
.list-group-item-#{$state} {
color: $color;
background-color: $background;
&.list-group-item-action {
&:hover,
&:focus {
color: $color;
background-color: shade-color($background, 10%);
}
&.active {
color: $white;
background-color: $color;
border-color: $color;
}
}
}
}
Лооп
Петља која генерише класе модификатора са list-group-item-variant()
миксином.
// List group contextual variants
//
// Add modifier classes to change text and background color on individual items.
// Organizationally, this must come after the `:hover` states.
@each $state, $value in $theme-colors {
$list-group-variant-bg: shift-color($value, $list-group-item-bg-scale);
$list-group-variant-color: shift-color($value, $list-group-item-color-scale);
@if (contrast-ratio($list-group-variant-bg, $list-group-variant-color) < $min-contrast-ratio) {
$list-group-variant-color: mix($value, color-contrast($list-group-variant-bg), abs($list-group-item-color-scale));
}
@include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color);
}
ЈаваСцрипт понашање
Користите ЈаваСцрипт додатак картице – укључите га појединачно или кроз компајлирану bootstrap.js
датотеку – да проширите нашу групу листе да бисте креирали окна са локалним садржајем са табовима.
<div class="row">
<div class="col-4">
<div class="list-group" id="list-tab" role="tablist">
<a class="list-group-item list-group-item-action active" id="list-home-list" data-bs-toggle="list" href="#list-home" role="tab" aria-controls="list-home">Home</a>
<a class="list-group-item list-group-item-action" id="list-profile-list" data-bs-toggle="list" href="#list-profile" role="tab" aria-controls="list-profile">Profile</a>
<a class="list-group-item list-group-item-action" id="list-messages-list" data-bs-toggle="list" href="#list-messages" role="tab" aria-controls="list-messages">Messages</a>
<a class="list-group-item list-group-item-action" id="list-settings-list" data-bs-toggle="list" href="#list-settings" role="tab" aria-controls="list-settings">Settings</a>
</div>
</div>
<div class="col-8">
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="list-home" role="tabpanel" aria-labelledby="list-home-list">...</div>
<div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">...</div>
<div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">...</div>
<div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">...</div>
</div>
</div>
</div>
Коришћење атрибута података
Можете активирати навигацију по групи листе без писања било каквог ЈаваСцрипта једноставним навођењем data-bs-toggle="list"
или на елементу. Користите ове атрибуте података на .list-group-item
.
<div role="tabpanel">
<!-- List group -->
<div class="list-group" id="myList" role="tablist">
<a class="list-group-item list-group-item-action active" data-bs-toggle="list" href="#home" role="tab">Home</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#profile" role="tab">Profile</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#messages" role="tab">Messages</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#settings" role="tab">Settings</a>
</div>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel">...</div>
<div class="tab-pane" id="profile" role="tabpanel">...</div>
<div class="tab-pane" id="messages" role="tabpanel">...</div>
<div class="tab-pane" id="settings" role="tabpanel">...</div>
</div>
</div>
Преко ЈаваСцрипт-а
Омогућите ставку листе са табулаторима путем ЈаваСцрипт-а (свака ставка листе треба да се активира појединачно):
var triggerTabList = [].slice.call(document.querySelectorAll('#myTab a'))
triggerTabList.forEach(function (triggerEl) {
var tabTrigger = new bootstrap.Tab(triggerEl)
triggerEl.addEventListener('click', function (event) {
event.preventDefault()
tabTrigger.show()
})
})
Појединачну ставку листе можете активирати на неколико начина:
var triggerEl = document.querySelector('#myTab a[href="#profile"]')
bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
var triggerFirstTabEl = document.querySelector('#myTab li:first-child a')
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">...</div>
<div class="tab-pane fade" id="profile" role="tabpanel">...</div>
<div class="tab-pane fade" id="messages" role="tabpanel">...</div>
<div class="tab-pane fade" id="settings" role="tabpanel">...</div>
</div>
Методе
constructor
Активира елемент ставке листе и контејнер садржаја. Картица би требало да има data-bs-target
или href
циљни чвор контејнера у ДОМ-у.
<div class="list-group" id="myList" role="tablist">
<a class="list-group-item list-group-item-action active" data-bs-toggle="list" href="#home" role="tab">Home</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#profile" role="tab">Profile</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#messages" role="tab">Messages</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#settings" role="tab">Settings</a>
</div>
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel">...</div>
<div class="tab-pane" id="profile" role="tabpanel">...</div>
<div class="tab-pane" id="messages" role="tabpanel">...</div>
<div class="tab-pane" id="settings" role="tabpanel">...</div>
</div>
<script>
var firstTabEl = document.querySelector('#myTab a:last-child')
var firstTab = new bootstrap.Tab(firstTabEl)
firstTab.show()
</script>
Прикажи
Бира дату ставку листе и приказује њено повезано окно. Било која друга ставка листе која је претходно изабрана постаје поништена, а њено повезано окно је скривено. Враћа позиваоцу пре него што је окно са картицама заиста приказано (на пример, пре него што се shown.bs.tab
догађај деси).
var someListItemEl = document.querySelector('#someListItem')
var tab = new bootstrap.Tab(someListItemEl)
tab.show()
располагати
Уништава картицу елемента.
гетИнстанце
Статичка метода која вам омогућава да добијете инстанцу картице која је повезана са ДОМ елементом
var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getInstance(triggerEl) // Returns a Bootstrap tab instance
гетОрЦреатеИнстанце
Статичка метода која вам омогућава да добијете инстанцу картице повезану са ДОМ елементом или креирате нову у случају да није иницијализована
var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getOrCreateInstance(triggerEl) // Returns a Bootstrap tab instance
Догађаји
Када се прикаже нова картица, догађаји се активирају следећим редоследом:
hide.bs.tab
(на тренутно активној картици)show.bs.tab
(на картици која треба да се прикаже)hidden.bs.tab
(на претходној активној картици, иста као заhide.bs.tab
догађај)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 tabElms = document.querySelectorAll('a[data-bs-toggle="list"]')
tabElms.forEach(function(tabElm) {
tabElm.addEventListener('shown.bs.tab', function (event) {
event.target // newly activated tab
event.relatedTarget // previous active tab
})
}