Gruppo elenco
I gruppi di elenchi sono un componente flessibile e potente per la visualizzazione di una serie di contenuti. Modificali ed estendili per supportare praticamente qualsiasi contenuto all'interno.
Esempio di base
Il gruppo di elenchi più semplice è un elenco non ordinato con voci di elenco e le classi appropriate. Costruisci su di esso con le opzioni che seguono o con il tuo CSS, se necessario.
- Un oggetto
- Un secondo oggetto
- Un terzo elemento
- Un quarto elemento
- E un quinto
<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>
Articoli attivi
Aggiungi .active
ad a .list-group-item
per indicare la selezione attiva corrente.
- Un elemento attivo
- Un secondo oggetto
- Un terzo elemento
- Un quarto elemento
- E un quinto
<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>
Articoli disabilitati
Aggiungi .disabled
a .list-group-item
per farlo apparire disabilitato. Nota che alcuni elementi con .disabled
richiederanno anche JavaScript personalizzato per disabilitare completamente i loro eventi di clic (ad esempio, i collegamenti).
- Un oggetto disabilitato
- Un secondo oggetto
- Un terzo elemento
- Un quarto elemento
- E un quinto
<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>
Collegamenti e pulsanti
Utilizzare <a>
s o <button>
s per creare elementi di gruppo di elenchi utilizzabili con stati al passaggio del mouse, disabilitato e attivo aggiungendo .list-group-item-action
. Separiamo queste pseudo-classi per garantire che i gruppi di elenchi costituiti da elementi non interattivi (come <li>
s o <div>
s) non forniscano un'accessibilità al clic o al tocco.
Assicurati di non utilizzare le .btn
classi standard qui .
<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>
Con <button>
s, puoi anche utilizzare l' disabled
attributo invece della .disabled
classe. Purtroppo, <a>
s non supporta l'attributo disabilitato.
<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>
Sciacquone
Aggiungi .list-group-flush
per rimuovere alcuni bordi e angoli arrotondati per rendere gli elementi del gruppo elenco da bordo a bordo in un contenitore principale (ad esempio, schede).
- Un oggetto
- Un secondo oggetto
- Un terzo elemento
- Un quarto elemento
- E un quinto
<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>
Orizzontale
Aggiungi .list-group-horizontal
per modificare il layout degli elementi del gruppo elenco da verticale a orizzontale su tutti i punti di interruzione. In alternativa, scegli una variante reattiva .list-group-horizontal-{sm|md|lg|xl}
per rendere orizzontale un gruppo di elenchi a partire da quel punto di interruzione min-width
. Attualmente i gruppi di elenchi orizzontali non possono essere combinati con i gruppi di elenchi a filo.
Suggerimento: desideri elementi del gruppo di elenchi di uguale larghezza quando sono orizzontali? Aggiungi .flex-fill
a ciascun elemento del gruppo di elenchi.
- Un oggetto
- Un secondo oggetto
- Un terzo elemento
- Un oggetto
- Un secondo oggetto
- Un terzo elemento
- Un oggetto
- Un secondo oggetto
- Un terzo elemento
- Un oggetto
- Un secondo oggetto
- Un terzo elemento
- Un oggetto
- Un secondo oggetto
- Un terzo elemento
<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>
Classi contestuali
Usa le classi contestuali per applicare uno stile agli elementi dell'elenco con uno sfondo e un colore con stato.
- Un semplice elemento di gruppo di elenco predefinito
- Un semplice elemento del gruppo dell'elenco principale
- Un semplice elemento di gruppo di un elenco secondario
- Un semplice elemento del gruppo dell'elenco di successo
- Un semplice elemento di gruppo dell'elenco dei pericoli
- Un semplice elemento di gruppo di un elenco di avvisi
- Un semplice elemento di gruppo dell'elenco di informazioni
- Un semplice elemento del gruppo di elenchi di luci
- Un semplice elemento di un gruppo di dark list
<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>
Le classi contestuali funzionano anche con .list-group-item-action
. Notare l'aggiunta degli stili al passaggio del mouse qui non presenti nell'esempio precedente. Anche lo stato è supportato .active
; applicarlo per indicare una selezione attiva su un elemento del gruppo elenco contestuale.
<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>
Trasmettere significato alle tecnologie assistive
L'uso del colore per aggiungere significato fornisce solo un'indicazione visiva, che non verrà trasmessa agli utenti di tecnologie assistive, come i lettori di schermo. Assicurati che le informazioni denotate dal colore siano ovvie dal contenuto stesso (ad esempio il testo visibile), o siano incluse attraverso mezzi alternativi, come testo aggiuntivo nascosto con la .sr-only
classe.
Con distintivi
Aggiungi badge a qualsiasi elemento del gruppo di elenchi per mostrare conteggi, attività e altro non letti con l'aiuto di alcune utilità .
- Una voce di elenco14
- Una seconda voce di elenco2
- Una terza voce di elenco1
<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>
Contenuti personalizzati
Aggiungi quasi qualsiasi codice HTML all'interno, anche per gruppi di elenchi collegati come quello qui sotto, con l'aiuto delle utility flexbox .
Elenca l'intestazione dell'elemento del gruppo
3 giorni faAlcuni contenuti segnaposto in un paragrafo.
E qualche piccola stampa.Elenca l'intestazione dell'elemento del gruppo
3 giorni faAlcuni contenuti segnaposto in un paragrafo.
E qualche piccola stampa tenue.Elenca l'intestazione dell'elemento del gruppo
3 giorni faAlcuni contenuti segnaposto in un paragrafo.
E qualche piccola stampa tenue.<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>
Comportamento JavaScript
Usa il plug-in JavaScript della scheda, includilo individualmente o tramite il file compilato bootstrap.js
, per estendere il nostro gruppo di elenchi per creare riquadri tabbable di contenuto locale.
<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>
Utilizzo degli attributi dei dati
Puoi attivare una navigazione a gruppi di liste senza scrivere alcun JavaScript semplicemente specificando data-toggle="list"
o su un elemento. Usa questi attributi di dati su .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>
Tramite JavaScript
Abilita elemento dell'elenco tabable tramite JavaScript (ogni elemento dell'elenco deve essere attivato singolarmente):
$('#myList a').on('click', function (event) {
event.preventDefault()
$(this).tab('show')
})
È possibile attivare singole voci di elenco in diversi modi:
$('#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
Effetto dissolvenza
Per fare in modo che il pannello delle schede si sbiadisca, aggiungi .fade
a ciascuno .tab-pane
. Il primo riquadro delle schede deve anche .show
rendere visibile il contenuto iniziale.
<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>
Metodi
$().tab
Attiva un elemento di un elemento dell'elenco e un contenitore di contenuto. La scheda dovrebbe avere a data-target
o un href
nodo di destinazione del contenitore nel 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('mostra')
Seleziona l'elemento dell'elenco specificato e mostra il riquadro associato. Qualsiasi altro elemento dell'elenco precedentemente selezionato viene deselezionato e il riquadro associato viene nascosto. Ritorna al chiamante prima che il riquadro delle schede sia stato effettivamente mostrato (ad esempio, prima shown.bs.tab
che si verifichi l'evento).
$('#someListItem').tab('show')
Eventi
Quando viene visualizzata una nuova scheda, gli eventi si attivano nel seguente ordine:
hide.bs.tab
(nella scheda attiva corrente)show.bs.tab
(nella scheda da mostrare)hidden.bs.tab
(nella scheda attiva precedente, la stessahide.bs.tab
dell'evento)shown.bs.tab
(nella scheda appena mostrata appena attiva, la stessashow.bs.tab
dell'evento)
Se nessuna scheda era già attiva, gli eventi hide.bs.tab
e hidden.bs.tab
non verranno attivati.
Tipo di evento | Descrizione |
---|---|
show.bs.tab | Questo evento si attiva alla visualizzazione della scheda, ma prima che venga mostrata la nuova scheda. Utilizzare event.target e event.relatedTarget per indirizzare rispettivamente la scheda attiva e la scheda attiva precedente (se disponibile). |
mostrato.bs.tab | Questo evento si attiva alla visualizzazione delle schede dopo che è stata mostrata una scheda. Utilizzare event.target e event.relatedTarget per indirizzare rispettivamente la scheda attiva e la scheda attiva precedente (se disponibile). |
nascondi.bs.tab | Questo evento si attiva quando deve essere visualizzata una nuova scheda (e quindi la scheda attiva precedente deve essere nascosta). Utilizzare event.target e event.relatedTarget per scegliere come target rispettivamente la scheda attiva corrente e la nuova scheda che sarà presto attiva. |
scheda.bs.nascosta | Questo evento si attiva dopo che viene mostrata una nuova scheda (e quindi la scheda attiva precedente viene nascosta). Utilizzare event.target e event.relatedTarget per indirizzare rispettivamente la scheda attiva precedente e la nuova scheda attiva. |
$('a[data-toggle="list"]').on('shown.bs.tab', function (event) {
event.target // newly activated tab
event.relatedTarget // previous active tab
})