Source

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.

  • Cras justo odio
  • Dapibus ac facilisis v
  • Morbi leo risus
  • Porta ac consectetur ac
  • Vestibulum na erosu
<ul class="list-group">
  <li class="list-group-item">Cras justo odio</li>
  <li class="list-group-item">Dapibus ac facilisis in</li>
  <li class="list-group-item">Morbi leo risus</li>
  <li class="list-group-item">Porta ac consectetur ac</li>
  <li class="list-group-item">Vestibulum at eros</li>
</ul>

Aktivní položky

Přidat .activedo a .list-group-itempro označení aktuálního aktivního výběru.

  • Cras justo odio
  • Dapibus ac facilisis v
  • Morbi leo risus
  • Porta ac consectetur ac
  • Vestibulum na erosu
<ul class="list-group">
  <li class="list-group-item active">Cras justo odio</li>
  <li class="list-group-item">Dapibus ac facilisis in</li>
  <li class="list-group-item">Morbi leo risus</li>
  <li class="list-group-item">Porta ac consectetur ac</li>
  <li class="list-group-item">Vestibulum at eros</li>
</ul>

Zakázané položky

Přidejte .disableddo a .list-group-item, aby se zdálo , že je zakázáno. Všimněte si, že některé prvky s .disabledbudou také vyžadovat vlastní JavaScript, aby bylo možné plně deaktivovat události kliknutí (např. odkazy).

  • Cras justo odio
  • Dapibus ac facilisis v
  • Morbi leo risus
  • Porta ac consectetur ac
  • Vestibulum na erosu
<ul class="list-group">
  <li class="list-group-item disabled">Cras justo odio</li>
  <li class="list-group-item">Dapibus ac facilisis in</li>
  <li class="list-group-item">Morbi leo risus</li>
  <li class="list-group-item">Porta ac consectetur ac</li>
  <li class="list-group-item">Vestibulum at eros</li>
</ul>

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í .btntřídy .

<div class="list-group">
  <a href="#" class="list-group-item list-group-item-action active">
    Cras justo odio
  </a>
  <a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a>
  <a href="#" class="list-group-item list-group-item-action">Morbi leo risus</a>
  <a href="#" class="list-group-item list-group-item-action">Porta ac consectetur ac</a>
  <a href="#" class="list-group-item list-group-item-action disabled">Vestibulum at eros</a>
</div>

S <button>s můžete také použít disabledatribut místo .disabledtřídy. Bohužel <a>atribut nepodporují.

<div class="list-group">
  <button type="button" class="list-group-item list-group-item-action active">
    Cras justo odio
  </button>
  <button type="button" class="list-group-item list-group-item-action">Dapibus ac facilisis in</button>
  <button type="button" class="list-group-item list-group-item-action">Morbi leo risus</button>
  <button type="button" class="list-group-item list-group-item-action">Porta ac consectetur ac</button>
  <button type="button" class="list-group-item list-group-item-action" disabled>Vestibulum at eros</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).

  • Cras justo odio
  • Dapibus ac facilisis v
  • Morbi leo risus
  • Porta ac consectetur ac
  • Vestibulum na erosu
<ul class="list-group list-group-flush">
  <li class="list-group-item">Cras justo odio</li>
  <li class="list-group-item">Dapibus ac facilisis in</li>
  <li class="list-group-item">Morbi leo risus</li>
  <li class="list-group-item">Porta ac consectetur ac</li>
  <li class="list-group-item">Vestibulum at eros</li>
</ul>

Kontextové třídy

Použijte kontextové třídy ke stylování položek seznamu se stavovým pozadím a barvou.

  • Dapibus ac facilisis v
  • Toto je primární položka skupiny seznamu
  • Toto je sekundární položka skupiny seznamu
  • Toto je položka skupiny seznamu úspěšných
  • Toto je položka skupiny seznamu nebezpečí
  • Toto je položka skupiny seznamu varování
  • Toto je položka skupiny informačního seznamu
  • Toto je lehká položka skupiny seznamu
  • Toto je položka skupiny tmavého seznamu
<ul class="list-group">
  <li class="list-group-item">Dapibus ac facilisis in</li>


  <li class="list-group-item list-group-item-primary">This is a primary list group item</li>
  <li class="list-group-item list-group-item-secondary">This is a secondary list group item</li>
  <li class="list-group-item list-group-item-success">This is a success list group item</li>
  <li class="list-group-item list-group-item-danger">This is a danger list group item</li>
  <li class="list-group-item list-group-item-warning">This is a warning list group item</li>
  <li class="list-group-item list-group-item-info">This is a info list group item</li>
  <li class="list-group-item list-group-item-light">This is a light list group item</li>
  <li class="list-group-item list-group-item-dark">This is a 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é .activestá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">Dapibus ac facilisis in</a>


  <a href="#" class="list-group-item list-group-item-action list-group-item-primary">This is a primary list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-secondary">This is a secondary list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-success">This is a success list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-danger">This is a danger list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-warning">This is a warning list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-info">This is a info list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-light">This is a light list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-dark">This is a 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-onlytří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ů .

  • Cras justo odio14
  • Dapibus ac facilisis v2
  • Morbi leo risus1
<ul class="list-group">
  <li class="list-group-item d-flex justify-content-between align-items-center">
    Cras justo odio
    <span class="badge badge-primary badge-pill">14</span>
  </li>
  <li class="list-group-item d-flex justify-content-between align-items-center">
    Dapibus ac facilisis in
    <span class="badge badge-primary badge-pill">2</span>
  </li>
  <li class="list-group-item d-flex justify-content-between align-items-center">
    Morbi leo risus
    <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 .

<div class="list-group">
  <a href="#" class="list-group-item list-group-item-action flex-column align-items-start 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">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
    <small>Donec id elit non mi porta.</small>
  </a>
  <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
    <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">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
    <small class="text-muted">Donec id elit non mi porta.</small>
  </a>
  <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
    <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">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
    <small class="text-muted">Donec id elit non mi porta.</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.jssouboru – 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.

<!-- 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>

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 (e) {
  e.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 .fadeke každému .tab-pane. První panel karet musí také .showzviditelnit 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-targetnebo hrefcí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.tabudálosti).

$('#someListItem').tab('show')

Události

Při zobrazení nové karty se události spustí v následujícím pořadí:

  1. hide.bs.tab(na aktuální aktivní kartě)
  2. show.bs.tab(na kartě k zobrazení)
  3. hidden.bs.tab(na předchozí aktivní záložce, stejné jako u hide.bs.tabudálosti)
  4. shown.bs.tab(na nově aktivní právě zobrazené záložce, stejné jako u show.bs.tabudálosti)

Pokud ještě nebyla aktivní žádná karta, události hide.bs.taba hidden.bs.tabse 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.targeta event.relatedTargetmůž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.targeta event.relatedTargetmůž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.targeta event.relatedTargetmůž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.targeta event.relatedTargetmůžete cílit na předchozí aktivní kartu a na novou aktivní kartu.
$('a[data-toggle="list"]').on('shown.bs.tab', function (e) {
  e.target // newly activated tab
  e.relatedTarget // previous active tab
})