Листа група
Групите со списоци се флексибилна и моќна компонента за прикажување низа содржини. Изменете ги и проширете ги за да поддржуваат речиси секоја содржина во неа.
Основен пример
Најосновната група списоци е неуредена листа со ставки од списокот и соодветни класи. Надоградете го со опциите што следат или со сопствен CSS по потреба.
- Ставка
- Втора ставка
- Трета ставка
- Четврта ставка
- И петти
<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
во a .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
во a .list-group-item
за да изгледа оневозможено. Забележете дека некои елементи со .disabled
ќе бараат и приспособен JavaScript за целосно да ги оневозможи нивните настани за кликнување (на пр., врски).
- Оневозможена ставка
- Втора ставка
- Трета ставка
- Четврта ставка
- И петти
<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>
s или <button>
s за да креирате акциони групни ставки од списокот со подвижни, оневозможени и активни состојби со додавање .list-group-item-action
. Ги издвојуваме овие псевдо-класи за да се осигураме дека групите списоци направени од неинтерактивни елементи (како што <li>
се s или <div>
s) не обезбедуваат прифатливост на кликнување или допир.
Погрижете се да не ги користите стандардните .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>
s, можете исто така да го користите 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>
елемент) за да се вклучите во ставките од групата со нумерирани список. Броевите се генерираат преку CSS (за разлика од <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>
Прилагодена содржина
Додајте речиси секој HTML во себе, дури и за групите поврзани со списоци како оваа подолу, со помош на услужните програми на flexbox .
Заглавие на група ставки на листа
пред 3 денаНекои содржини на место во став.
И некои ситни букви.Заглавие на група ставки на листа
пред 3 денаНекои содржини на место во став.
И некои пригушени ситни букви.Заглавие на група ставки на листа
пред 3 денаНекои содржини на место во став.
И некои пригушени ситни букви.<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>
Поле за избор и радија
Поставете ги полињата за избор и радијата на Bootstrap во ставките на групата од списокот и приспособете ги по потреба. Можете да ги користите без <label>
s, но не заборавајте да вклучите 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>
s како .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
s.
@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);
}
Однесување на JavaScript
Користете го приклучокот за јазичиња JavaScript - вклучете го поединечно или преку компајлираната 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>
Користење на атрибути на податоци
Можете да активирате групна навигација со список без да пишувате JavaScript со едноставно назначување 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>
Преку JavaScript
Овозможете ставка од списокот со јазичиња преку JavaScript (секоја ставка од списокот треба да се активира поединечно):
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
таргетирање контејнерски јазол во DOM.
<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()
располага
Уништува јазичето на елементот.
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
Настани
Кога се прикажува нова картичка, настаните се активираат по следниот редослед:
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 |
This event fires on tab show after a tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively. |
hide.bs.tab |
This event fires when a new tab is to be shown (and thus the previous active tab is to be hidden). Use event.target and event.relatedTarget to target the current active tab and the new soon-to-be-active tab, respectively. |
hidden.bs.tab |
This event fires after a new tab is shown (and thus the previous active tab is hidden). Use event.target and event.relatedTarget to target the previous active tab and the new active tab, respectively. |
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
})
}