Lista grup
Grupy list są elastycznym i potężnym komponentem do wyświetlania serii treści. Modyfikuj i rozszerzaj je tak, aby obsługiwały niemal dowolną zawartość.
Podstawowy przykład
Najbardziej podstawową grupą list jest lista nieuporządkowana z elementami listy i odpowiednimi klasami. Zbuduj go za pomocą poniższych opcji lub w razie potrzeby za pomocą własnego kodu CSS.
- Cras justo odio
- Dapibus ac facilisis in
- Morbi leo risus
- Porta ac consectetur ac
- Przedsionek w erosie
<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>Aktywne przedmioty
Dodaj .activedo a .list-group-item, aby wskazać aktualnie aktywny wybór.
- Cras justo odio
- Dapibus ac facilisis in
- Morbi leo risus
- Porta ac consectetur ac
- Przedsionek w erosie
<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>Elementy wyłączone
Dodaj .disableddo a .list-group-item, aby wyglądało na wyłączone. Pamiętaj, że niektóre elementy z użyciem .disabledbędą również wymagać niestandardowego kodu JavaScript, aby całkowicie wyłączyć zdarzenia kliknięcia (np. linki).
- Cras justo odio
- Dapibus ac facilisis in
- Morbi leo risus
- Porta ac consectetur ac
- Przedsionek w erosie
<ul class="list-group">
  <li class="list-group-item disabled" aria-disabled="true">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>Linki i przyciski
Użyj <a>s lub <button>s, aby utworzyć aktywne elementy grupy listy ze stanami najechania, wyłączonym i aktywnym, dodając .list-group-item-action. Oddzielamy te pseudoklasy, aby zapewnić, że grupy list składające się z nieinteraktywnych elementów (takich jak <li>s lub <div>s) nie zapewniają afordancji kliknięcia lub dotknięcia.
Upewnij się, że nie używasz tutaj standardowych .btnklas .
<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" tabindex="-1" aria-disabled="true">Vestibulum at eros</a>
</div>Dzięki <button>s możesz również użyć disabledatrybutu zamiast .disabledklasy. Niestety <a>s nie obsługują atrybutu wyłączonego.
<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>Spłukać
Dodaj .list-group-flush, aby usunąć niektóre obramowania i zaokrąglone rogi, aby wyświetlać elementy grupy listy od krawędzi do krawędzi w kontenerze nadrzędnym (np. karty).
- Cras justo odio
- Dapibus ac facilisis in
- Morbi leo risus
- Porta ac consectetur ac
- Przedsionek w erosie
<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>Zajęcia kontekstowe
Użyj klas kontekstowych, aby stylizować elementy listy za pomocą stanowego tła i koloru.
- Dapibus ac facilisis in
- Prosty element grupy listy podstawowej
- Prosty element grupy listy wtórnej
- Prosty element listy sukcesów
- Prosta pozycja na liście niebezpieczeństw
- Element grupy prostej listy ostrzeżeń
- Prosty element grupy listy informacji
- Prosty element grupy lekkiej listy
- Prosty element z ciemnej listy
<ul class="list-group">
  <li class="list-group-item">Dapibus ac facilisis in</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>Klasy kontekstowe działają również z programem .list-group-item-action. Zwróć uwagę na dodanie stylów aktywowania, których nie ma w poprzednim przykładzie. Wspierane jest również .activepaństwo; zastosuj go, aby wskazać aktywny wybór w elemencie grupy kontekstowej listy.
<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">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>Nadawanie znaczenia technologiom wspomagającym
Użycie koloru w celu dodania znaczenia zapewnia jedynie wizualne wskazanie, które nie zostanie przekazane użytkownikom technologii wspomagających – takich jak czytniki ekranu. Upewnij się, że informacje oznaczone kolorem są oczywiste z samej treści (np. widoczny tekst) lub są zawarte w inny sposób, np. dodatkowy tekst ukryty z .sr-onlyklasą.
Z odznakami
Dodaj odznaki do dowolnego elementu grupy listy, aby pokazać nieprzeczytane liczby, aktywność i inne elementy za pomocą niektórych narzędzi .
- Cras justo odio14
- Dapibus ac facilisis in2
- 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>Treści niestandardowe
Dodaj prawie dowolny kod HTML, nawet dla połączonych grup list, takich jak ta poniżej, za pomocą narzędzi Flexbox .
Lista nagłówka elementu grupy
3 dni temuDonec id elit non mi porta gravida at eget metus. Mecenas sed diam eget risus varius blandit.
Donec id elit non mi porta.Lista nagłówka elementu grupy
3 dni temuDonec id elit non mi porta gravida at eget metus. Mecenas sed diam eget risus varius blandit.
Donec id elit non mi porta.Lista nagłówka elementu grupy
3 dni temuDonec id elit non mi porta gravida at eget metus. Mecenas sed diam eget risus varius blandit.
Donec id elit non mi porta.<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">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">
    <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">
    <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>zachowanie JavaScript
Użyj wtyczki JavaScript karty — dołącz ją pojedynczo lub za pośrednictwem skompilowanego bootstrap.jspliku — aby rozszerzyć naszą grupę list o tworzenie paneli z kartami zawartości lokalnej.
<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>Korzystanie z atrybutów danych
Możesz aktywować nawigację po grupach list bez pisania kodu JavaScript, po prostu określając data-toggle="list"lub na elemencie. Użyj tych atrybutów danych 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>Przez JavaScript
Włącz element listy z tabelami za pomocą JavaScript (każdy element listy musi być aktywowany osobno):
$('#myList a').on('click', function (e) {
  e.preventDefault()
  $(this).tab('show')
})Poszczególne pozycje listy można aktywować na kilka sposobów:
$('#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 tabEfekt zanikania
Aby panel z zakładkami był widoczny, dodaj .fadedo każdego .tab-pane. Pierwszy panel z zakładkami musi również .showuwidaczniać początkową zawartość.
<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
Aktywuje element listy i kontener treści. Karta powinna mieć węzeł kontenera data-targetlub docelowy w DOM.href
<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('pokaż')
Wybiera daną pozycję listy i pokazuje powiązany z nią panel. Każdy inny element listy, który został wcześniej wybrany, zostanie odznaczony, a skojarzone z nim okienko zostanie ukryte. Powraca do wywołującego przed faktycznym wyświetleniem okienka kart (na przykład przed shown.bs.tabwystąpieniem zdarzenia).
$('#someListItem').tab('show')Wydarzenia
Po wyświetleniu nowej karty zdarzenia są uruchamiane w następującej kolejności:
- hide.bs.tab(na aktualnie aktywnej zakładce)
- show.bs.tab(w zakładce do pokazania)
- hidden.bs.tab(na poprzedniej aktywnej zakładce, taka sama jak dla- hide.bs.tabwydarzenia)
- shown.bs.tab(na nowo aktywnej właśnie wyświetlonej zakładce, takiej samej jak dla- show.bs.tabwydarzenia)
Jeśli żadna karta nie była już aktywna, zdarzenia hide.bs.tabi hidden.bs.tabnie zostaną wywołane.
| Typ wydarzenia | Opis | 
|---|---|
| show.bs.tab | To zdarzenie jest uruchamiane na pokazie zakładek, ale przed pokazaniem nowej zakładki. Użyj event.targetievent.relatedTarget, aby wybrać odpowiednio aktywną kartę i poprzednią aktywną kartę (jeśli jest dostępna). | 
| pokazano.bs.tab | To zdarzenie jest uruchamiane na pokazie kart po wyświetleniu karty. Użyj event.targetievent.relatedTarget, aby wybrać odpowiednio aktywną kartę i poprzednią aktywną kartę (jeśli jest dostępna). | 
| ukryj.bs.tab | To zdarzenie jest wyzwalane, gdy ma być pokazana nowa zakładka (a tym samym ukryta poprzednia aktywna zakładka). Użyj event.targetievent.relatedTargetdo kierowania odpowiednio na bieżącą aktywną kartę i nową wkrótce aktywną kartę. | 
| ukryta.bs.tab | To zdarzenie jest uruchamiane po wyświetleniu nowej karty (a tym samym ukrycie poprzedniej aktywnej karty). Użyj event.targetievent.relatedTargetdo kierowania odpowiednio na poprzednią aktywną kartę i nową aktywną kartę. | 
$('a[data-toggle="list"]').on('shown.bs.tab', function (e) {
  e.target // newly activated tab
  e.relatedTarget // previous active tab
})