Seznam skupiny
Skupiny seznamů jsou flexibilní a výkonná součást pro zobrazení řady obsahu. Upravte je a rozšiřte je tak, aby podporovaly téměř jakýkoli obsah.
Základní příklad
Nejzákladnější skupinou seznamů je neuspořádaný seznam s položkami seznamu a správnými třídami. Stavte na něm pomocí následujících možností nebo podle potřeby pomocí vlastního CSS.
- Předmět
- Druhá položka
- Třetí položka
- Čtvrtá položka
- A pátý
<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>
Aktivní položky
Přidat .active
do a .list-group-item
pro označení aktuálního aktivního výběru.
- Aktivní položka
- Druhá položka
- Třetí položka
- Čtvrtá položka
- A pátý
<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>
Zakázané položky
Přidejte .disabled
do a .list-group-item
, aby se zdálo , že je zakázáno. Všimněte si, že některé prvky s .disabled
budou také vyžadovat vlastní JavaScript, aby bylo možné plně deaktivovat události kliknutí (např. odkazy).
- Zakázaná položka
- Druhá položka
- Třetí položka
- Čtvrtá položka
- A pátý
<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>
Odkazy a tlačítka
Pomocí <a>
s nebo <button>
s vytvořte akceschopné položky skupiny seznamu se stavem umístění kurzoru, zakázaným a aktivním stavem přidáním .list-group-item-action
. Tyto pseudotřídy oddělujeme, abychom zajistili, že skupiny seznamů vytvořené z neinteraktivních prvků (jako <li>
s nebo <div>
s) neposkytují možnost kliknutí nebo klepnutí.
Ujistěte se, že zde nepoužívejte standardní .btn
třídy .
<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>
S <button>
s můžete také použít disabled
atribut místo .disabled
třídy. Bohužel <a>
atribut nepodporují.
<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>
Spláchnout
Přidat .list-group-flush
, chcete-li odstranit některé okraje a zaoblené rohy, abyste vykreslili položky skupiny seznamu od okraje k okraji v nadřazeném kontejneru (např. karty).
- Předmět
- Druhá položka
- Třetí položka
- Čtvrtá položka
- A pátý
<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>
Horizontální
Přidat .list-group-horizontal
, chcete-li změnit rozvržení položek skupiny seznamu ze svislého na vodorovné přes všechny zarážky. Případně zvolte responzivní variantu .list-group-horizontal-{sm|md|lg|xl}
, aby byla skupina seznamů vodorovná počínaje bodem přerušení min-width
. V současné době nelze skupiny horizontálních seznamů kombinovat se skupinami zarovnávacích seznamů.
ProTip: Chcete položky skupiny seznamu stejné šířky, když jsou vodorovné? Přidat .flex-fill
do každé položky skupiny seznamu.
- Předmět
- Druhá položka
- Třetí položka
- Předmět
- Druhá položka
- Třetí položka
- Předmět
- Druhá položka
- Třetí položka
- Předmět
- Druhá položka
- Třetí položka
- Předmět
- Druhá položka
- Třetí položka
<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>
Kontextové třídy
Použijte kontextové třídy ke stylování položek seznamu se stavovým pozadím a barvou.
- Jednoduchá výchozí položka skupiny seznamu
- Jednoduchá primární položka skupiny seznamu
- Jednoduchá sekundární položka skupiny seznamu
- Jednoduchá položka skupinového seznamu úspěšných
- Jednoduchá položka skupiny seznamu nebezpečí
- Jednoduchá položka skupiny seznamu varování
- Jednoduchá položka skupiny informačního seznamu
- Jednoduchý seznam skupinových položek
- Jednoduchá položka skupiny tmavého seznamu
<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>
Kontextové třídy také pracují s .list-group-item-action
. Všimněte si, že zde byly přidány styly přechodu, které nejsou uvedeny v předchozím příkladu. Podporován je také .active
stát; použijte jej k označení aktivního výběru na položce kontextové skupiny seznamu.
<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>
Předávání významu asistenčním technologiím
Použití barvy k přidání významu poskytuje pouze vizuální indikaci, která nebude zprostředkována uživatelům asistenčních technologií – jako jsou čtečky obrazovky. Ujistěte se, že informace označené barvou jsou buď zřejmé ze samotného obsahu (např. viditelný text), nebo jsou zahrnuty alternativními prostředky, jako je další text skrytý ve .sr-only
třídě.
S odznaky
Přidejte odznaky k libovolné položce skupiny seznamu, abyste zobrazili počty nepřečtených, aktivitu a další pomocí některých nástrojů .
- Položka seznamu14
- Druhá položka seznamu2
- Třetí položka seznamu1
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-center">
A list item
<span class="badge badge-primary badge-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
A second list item
<span class="badge badge-primary badge-pill">2</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
A third list item
<span class="badge badge-primary badge-pill">1</span>
</li>
</ul>
Vlastní obsah
Přidejte téměř jakýkoli kód HTML, a to i pro skupiny propojených seznamů, jako je ta níže, pomocí nástrojů flexbox .
Záhlaví položky skupiny seznamu
Před 3 dnyNějaký zástupný obsah v odstavci.
A nějaké drobné písmo.Záhlaví položky skupiny seznamu
Před 3 dnyNějaký zástupný obsah v odstavci.
A nějaké tlumené drobné písmo.Záhlaví položky skupiny seznamu
Před 3 dnyNějaký zástupný obsah v odstavci.
A nějaké tlumené drobné písmo.<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active">
<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>
Chování JavaScriptu
Použijte zásuvný modul JavaScriptu na kartě – zahrňte jej jednotlivě nebo prostřednictvím zkompilovaného bootstrap.js
souboru – k rozšíření naší skupiny seznamů o vytváření panelů místního obsahu s tabelovanými panely.
<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-toggle="list" href="#list-home" role="tab" aria-controls="home">Home</a>
<a class="list-group-item list-group-item-action" id="list-profile-list" data-toggle="list" href="#list-profile" role="tab" aria-controls="profile">Profile</a>
<a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="list" href="#list-messages" role="tab" aria-controls="messages">Messages</a>
<a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="list" href="#list-settings" role="tab" aria-controls="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>
Použití atributů dat
Navigaci skupiny seznamů můžete aktivovat bez psaní jakéhokoli JavaScriptu pouhým zadáním data-toggle="list"
prvku nebo na prvku. Použijte tyto atributy dat na .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-toggle="list" href="#home" role="tab">Home</a>
<a class="list-group-item list-group-item-action" data-toggle="list" href="#profile" role="tab">Profile</a>
<a class="list-group-item list-group-item-action" data-toggle="list" href="#messages" role="tab">Messages</a>
<a class="list-group-item list-group-item-action" data-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>
Prostřednictvím JavaScriptu
Povolit tabelovatelnou položku seznamu pomocí JavaScriptu (každou položku seznamu je třeba aktivovat samostatně):
$('#myList a').on('click', function (event) {
event.preventDefault()
$(this).tab('show')
})
Jednotlivé položky seznamu můžete aktivovat několika způsoby:
$('#myList a[href="#profile"]').tab('show') // Select tab by name
$('#myList a:first-child').tab('show') // Select first tab
$('#myList a:last-child').tab('show') // Select last tab
$('#myList a:nth-child(3)').tab('show') // Select third tab
Efekt vyblednutí
Chcete-li, aby panel karet vybledl, přidejte .fade
ke každému .tab-pane
. První panel karet musí také .show
zviditelnit počáteční obsah.
<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>
Metody
$().tab
Aktivuje prvek položky seznamu a kontejner obsahu. Karta by měla mít buď a data-target
nebo href
cílící na uzel kontejneru v modelu DOM.
<div class="list-group" id="myList" role="tablist">
<a class="list-group-item list-group-item-action active" data-toggle="list" href="#home" role="tab">Home</a>
<a class="list-group-item list-group-item-action" data-toggle="list" href="#profile" role="tab">Profile</a>
<a class="list-group-item list-group-item-action" data-toggle="list" href="#messages" role="tab">Messages</a>
<a class="list-group-item list-group-item-action" data-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>
$(function () {
$('#myList a:last-child').tab('show')
})
</script>
.tab('show')
Vybere danou položku seznamu a zobrazí související panel. Jakákoli jiná položka seznamu, která byla dříve vybrána, bude zrušena a její přidružené podokno bude skryté. Vrátí se k volajícímu dříve, než se panel karet skutečně zobrazí (například předtím, než dojde k shown.bs.tab
události).
$('#someListItem').tab('show')
Události
Při zobrazení nové karty se události spustí v následujícím pořadí:
hide.bs.tab
(na aktuální aktivní kartě)show.bs.tab
(na kartě k zobrazení)hidden.bs.tab
(na předchozí aktivní záložce, stejné jako uhide.bs.tab
události)shown.bs.tab
(na nově aktivní právě zobrazené záložce, stejné jako ushow.bs.tab
události)
Pokud ještě nebyla aktivní žádná karta, události hide.bs.tab
a hidden.bs.tab
se nespustí.
Typ události | Popis |
---|---|
zobrazit.bs.tab | Tato událost se spustí při zobrazení karty, ale předtím, než se zobrazí nová karta. Pomocí event.target a event.relatedTarget můžete cílit na aktivní kartu a na předchozí aktivní kartu (pokud je k dispozici). |
zobrazeno.bs.tab | Tato událost se spustí při zobrazení karty po zobrazení karty. Pomocí event.target a event.relatedTarget můžete cílit na aktivní kartu a na předchozí aktivní kartu (pokud je k dispozici). |
skrýt.bs.tab | Tato událost se spustí, když se má zobrazit nová karta (a tedy předchozí aktivní karta má být skryta). Pomocí event.target a event.relatedTarget můžete cílit na aktuální aktivní kartu a na novou kartu, která bude brzy aktivní. |
skrytá.bs.tab | Tato událost se spustí po zobrazení nové karty (a tedy předchozí aktivní karta je skryta). Pomocí event.target a event.relatedTarget můžete cílit na předchozí aktivní kartu a na novou aktivní kartu. |
$('a[data-toggle="list"]').on('shown.bs.tab', function (event) {
event.target // newly activated tab
event.relatedTarget // previous active tab
})