Source

Zoznam skupiny

Skupiny zoznamov sú flexibilným a výkonným komponentom na zobrazenie série obsahu. Upravte a rozšírte ich tak, aby podporovali takmer akýkoľvek obsah.

Základný príklad

Najzákladnejšou skupinou zoznamov je neusporiadaný zoznam s položkami zoznamu a príslušnými triedami. Stavte na to pomocou nasledujúcich možností alebo podľa potreby pomocou vlastného CSS.

  • Cras justo odio
  • Dapibus ac facilisis v
  • Morbi leo risus
  • Porta ac consectetur ac
  • Vestibulum na erose
<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>

Aktívne položky

Pridať .activedo a .list-group-itemna označenie aktuálneho aktívneho výberu.

  • Cras justo odio
  • Dapibus ac facilisis v
  • Morbi leo risus
  • Porta ac consectetur ac
  • Vestibulum na erose
<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

Pridajte .disableddo a .list-group-item, aby sa javil ako zakázaný. Všimnite si, že niektoré prvky s .disabledbudú tiež vyžadovať vlastný JavaScript, aby sa úplne zakázali ich udalosti kliknutia (napr. odkazy).

  • Cras justo odio
  • Dapibus ac facilisis v
  • Morbi leo risus
  • Porta ac consectetur ac
  • Vestibulum na erose
<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>

Pomocou <a>s alebo <button>s vytvorte akcie skupiny zoznamu položiek so stavom kurzora, vypnutým a aktívnym stavom pridaním .list-group-item-action. Tieto pseudotriedy oddeľujeme, aby sme zaistili, že skupiny zoznamov zložené z neinteraktívnych prvkov (ako <li>s alebo <div>s) nebudú poskytovať možnosť kliknutia alebo klepnutia.

Uistite sa , že tu nepoužívate štandardné .btntriedy .

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

Pomocou <button>s môžete disablednamiesto .disabledtriedy použiť aj atribút. Žiaľ, <a>atribút zakázaný nepodporuje.

<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áchnuť

Pridať .list-group-flushna odstránenie niektorých okrajov a zaoblených rohov na vykreslenie položiek skupiny zoznamu od okraja po okraj v nadradenom kontajneri (napr. karty).

  • Cras justo odio
  • Dapibus ac facilisis v
  • Morbi leo risus
  • Porta ac consectetur ac
  • Vestibulum na erose
<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é triedy

Použite kontextové triedy na štýlovanie položiek zoznamu so stavovým pozadím a farbou.

  • Dapibus ac facilisis v
  • Toto je primárna položka skupiny zoznamu
  • Toto je sekundárna položka skupiny zoznamu
  • Toto je položka skupiny v zozname úspešných
  • Toto je položka skupiny zoznamu nebezpečenstiev
  • Toto je položka skupiny varovania
  • Toto je položka skupiny informačného zoznamu
  • Toto je ľahká položka skupiny zoznamu
  • Toto je položka skupiny tmavého zoznamu
<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é triedy pracujú aj s .list-group-item-action. Všimnite si pridanie štýlov vznášania, ktoré sa nenachádzajú v predchádzajúcom príklade. Podporovaný je aj .activeštát; použiť ho na označenie aktívneho výberu na položke kontextovej skupiny zoznamu.

<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>
Odovzdanie významu asistenčným technológiám

Použitie farby na pridanie významu poskytuje iba vizuálnu indikáciu, ktorá nebude poskytnutá používateľom asistenčných technológií – ako sú čítačky obrazovky. Uistite sa, že informácia označená farbou je buď zrejmá zo samotného obsahu (napr. viditeľný text), alebo je zahrnutá alternatívnymi prostriedkami, ako je dodatočný text skrytý spolu s .sr-onlytriedou.

S odznakmi

Pridajte odznaky do ľubovoľnej položky skupiny zoznamu, aby ste pomocou niektorých pomôcok zobrazovali neprečítané počty, aktivitu a ďalšie .

  • 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

Pridajte takmer akýkoľvek kód HTML, dokonca aj pre skupiny prepojených zoznamov, ako je tá nižšie, pomocou nástrojov 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>

Správanie JavaScriptu

Použite zásuvný modul JavaScript na karte – zahrňte ho jednotlivo alebo prostredníctvom skompilovaného bootstrap.jssúboru – na rozšírenie našej skupiny zoznamov na vytváranie tabel miestneho obsahu.

<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žívanie atribútov údajov

Navigáciu skupiny zoznamov môžete aktivovať bez písania akéhokoľvek JavaScriptu jednoduchým zadaním data-toggle="list"alebo na prvku. Použite tieto atribúty údajov 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>

Cez JavaScript

Povoliť položku zoznamu s tabuľkami cez JavaScript (každá položka zoznamu musí byť aktivovaná samostatne):

$('#myList a').on('click', function (e) {
  e.preventDefault()
  $(this).tab('show')
})

Jednotlivé položky zoznamu môžete aktivovať niekoľkými spôsobmi:

$('#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 vyblednutia

Ak chcete, aby panel kariet vybledol, pridajte .fadeku každému .tab-pane. Prvá tabla karty musí tiež .showzviditeľniť počiatoč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>

Metódy

$().tab

Aktivuje prvok položky zoznamu a kontajner obsahu. Karta by mala mať buď a data-targetalebo hrefzacielenie na kontajnerový uzol v 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')

Vyberie danú položku zoznamu a zobrazí príslušný panel. Akákoľvek iná položka zoznamu, ktorá bola predtým vybratá, sa zruší a jej priradená tabla sa skryje. Vráti sa k volajúcemu skôr, ako sa tabla kariet skutočne zobrazí (napríklad pred shown.bs.tabvýskytom udalosti).

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

Diania

Pri zobrazení novej karty sa udalosti spúšťajú v nasledujúcom poradí:

  1. hide.bs.tab(na aktuálnej aktívnej karte)
  2. show.bs.tab(na karte, ktorá sa má zobraziť)
  3. hidden.bs.tab(na predchádzajúcej aktívnej karte, rovnaká ako pri hide.bs.tabudalosti)
  4. shown.bs.tab(na novo aktívnej práve zobrazenej karte, rovnakej ako pri show.bs.tabudalosti)

Ak ešte nebola aktívna žiadna karta, udalosti hide.bs.taba hidden.bs.tabsa nespustia.

Typ udalosti Popis
zobraziť.bs.tab Táto udalosť sa spustí pri zobrazení kariet, ale predtým, než sa zobrazí nová karta. Pomocou event.targeta event.relatedTargetzacielite na aktívnu kartu a predchádzajúcu aktívnu kartu (ak je k dispozícii).
zobrazené.bs.tab Táto udalosť sa spustí pri zobrazení karty po zobrazení karty. Pomocou event.targeta event.relatedTargetzacielite na aktívnu kartu a predchádzajúcu aktívnu kartu (ak je k dispozícii).
skryť.bs.tab Táto udalosť sa spustí, keď sa má zobraziť nová karta (a teda predchádzajúca aktívna karta má byť skrytá). Pomocou event.targeta event.relatedTargetzacielite na aktuálnu aktívnu kartu a novú kartu, ktorá bude čoskoro aktívna.
skryté.bs.tab Táto udalosť sa spustí po zobrazení novej karty (a teda predchádzajúca aktívna karta je skrytá). Pomocou event.targeta event.relatedTargetzacielite na predchádzajúcu aktívnu kartu a na novú aktívnu kartu.
$('a[data-toggle="list"]').on('shown.bs.tab', function (e) {
  e.target // newly activated tab
  e.relatedTarget // previous active tab
})