Documentazione ed esempi per lo stile opt-in delle tabelle (dato il loro uso prevalente nei plugin JavaScript) con Bootstrap.
Su questa pagina
Panoramica
A causa dell'uso diffuso di <table>elementi su widget di terze parti come calendari e selettori di date, le tabelle di Bootstrap sono opt-in . Aggiungi la classe base .tablea any <table>, quindi estendi con le nostre classi di modifica facoltative o stili personalizzati. Tutti gli stili di tabella non vengono ereditati in Bootstrap, il che significa che qualsiasi tabella nidificata può avere uno stile indipendente dal genitore.
Utilizzando il markup della tabella più semplice, ecco come .tableappaiono le tabelle basate su Bootstrap.
#
Primo
Scorso
Maneggiare
1
Segno
Ottone
@mdo
2
Giacobbe
Thornton
@Grasso
3
Larry l'Uccello
@twitter
<tableclass="table"><thead><tr><thscope="col">#</th><thscope="col">First</th><thscope="col">Last</th><thscope="col">Handle</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><tdcolspan="2">Larry the Bird</td><td>@twitter</td></tr></tbody></table>
Varianti
Usa le classi contestuali per colorare tabelle, righe di tabelle o singole celle.
Classe
Intestazione
Intestazione
Predefinito
Cellula
Cellula
Primario
Cellula
Cellula
Secondario
Cellula
Cellula
Successo
Cellula
Cellula
Pericolo
Cellula
Cellula
Avvertimento
Cellula
Cellula
Informazioni
Cellula
Cellula
Luce
Cellula
Cellula
Scuro
Cellula
Cellula
<!-- On tables --><tableclass="table-primary">...</table><tableclass="table-secondary">...</table><tableclass="table-success">...</table><tableclass="table-danger">...</table><tableclass="table-warning">...</table><tableclass="table-info">...</table><tableclass="table-light">...</table><tableclass="table-dark">...</table><!-- On rows --><trclass="table-primary">...</tr><trclass="table-secondary">...</tr><trclass="table-success">...</tr><trclass="table-danger">...</tr><trclass="table-warning">...</tr><trclass="table-info">...</tr><trclass="table-light">...</tr><trclass="table-dark">...</tr><!-- On cells (`td` or `th`) --><tr><tdclass="table-primary">...</td><tdclass="table-secondary">...</td><tdclass="table-success">...</td><tdclass="table-danger">...</td><tdclass="table-warning">...</td><tdclass="table-info">...</td><tdclass="table-light">...</td><tdclass="table-dark">...</td></tr>
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 es. il testo visibile), o siano incluse attraverso mezzi alternativi, come testo aggiuntivo nascosto con la .visually-hiddenclasse.
Tabelle accentate
Righe rigate
Utilizzare .table-stripedper aggiungere strisce zebrate a qualsiasi riga di tabella all'interno di <tbody>.
#
Primo
Scorso
Maneggiare
1
Segno
Ottone
@mdo
2
Giacobbe
Thornton
@Grasso
3
Larry l'Uccello
@twitter
<tableclass="table table-striped">
...
</table>
Queste classi possono anche essere aggiunte alle varianti di tabella:
Iniziamo impostando lo sfondo di una cella di tabella con la --bs-table-bgproprietà custom. Tutte le varianti di tabella impostano quindi quella proprietà personalizzata per colorare le celle della tabella. In questo modo, non ci mettiamo nei guai se i colori semitrasparenti vengono usati come sfondi delle tabelle.
Quindi aggiungiamo un'ombreggiatura della casella interna sulle celle della tabella con box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);un livello sopra qualsiasi specificato background-color. Poiché utilizziamo un'ampia diffusione e nessuna sfocatura, il colore sarà monotono. Poiché --bs-table-accent-bgnon è impostato per impostazione predefinita, non abbiamo un'ombreggiatura predefinita.
Quando .table-stripedsi aggiungono .table-hovero .table-activele classi, --bs-table-accent-bgviene impostato su un colore semitrasparente per colorare lo sfondo.
Per ogni variante di tavolo, generiamo un --bs-table-accent-bgcolore con il contrasto più alto a seconda di quel colore. Ad esempio, il colore dell'accento .table-primaryè più scuro mentre .table-darkha un colore dell'accento più chiaro.
I colori del testo e dei bordi vengono generati allo stesso modo e i relativi colori vengono ereditati per impostazione predefinita.
Le celle della tabella di <thead>sono sempre allineate verticalmente verso il basso. Le celle della tabella <tbody>ereditano il loro allineamento <table>e sono allineate in alto per impostazione predefinita. Usa le classi di allineamento verticale per riallineare dove necessario.
Titolo 1
Titolo 2
Titolo 3
Titolo 4
Questa cella eredita vertical-align: middle;dalla tabella
Questa cella eredita vertical-align: middle;dalla tabella
Questa cella eredita vertical-align: middle;dalla tabella
Questo qui è un testo segnaposto, destinato a occupare un bel po' di spazio verticale, per dimostrare come funziona l'allineamento verticale nelle celle precedenti.
Questa cella eredita vertical-align: bottom;dalla riga della tabella
Questa cella eredita vertical-align: bottom;dalla riga della tabella
Questa cella eredita vertical-align: bottom;dalla riga della tabella
Questo qui è un testo segnaposto, destinato a occupare un bel po' di spazio verticale, per dimostrare come funziona l'allineamento verticale nelle celle precedenti.
Questa cella eredita vertical-align: middle;dalla tabella
Questa cella eredita vertical-align: middle;dalla tabella
Questa cella è allineata in alto.
Questo qui è un testo segnaposto, destinato a occupare un bel po' di spazio verticale, per dimostrare come funziona l'allineamento verticale nelle celle precedenti.
<divclass="table-responsive"><tableclass="table align-middle"><thead><tr>
...
</tr></thead><tbody><tr>
...
</tr><trclass="align-bottom">
...
</tr><tr><td>...</td><td>...</td><tdclass="align-top">This cell is aligned to the top.</td><td>...</td></tr></tbody></table></div>
Nidificazione
Gli stili del bordo, gli stili attivi e le varianti di tabella non vengono ereditati dalle tabelle nidificate.
Per evitare che qualsiasi stile trapeli nelle tabelle nidificate, utilizziamo il >selettore figlio combinatore ( ) nel nostro CSS. Dal momento che abbiamo bisogno di scegliere come target tutti i tds e ths in thead, tbody, e tfoot, il nostro selettore sembrerebbe piuttosto lungo senza di esso. Pertanto, utilizziamo il .table > :not(caption) > * > *selettore dall'aspetto piuttosto strano per scegliere come target tutte le tds e thle .table, ma nessuna delle potenziali tabelle nidificate.
Nota che se aggiungi <tr>s come figli diretti di una tabella, quelli <tr>verranno racchiusi in a <tbody>per impostazione predefinita, facendo così funzionare i nostri selettori come previsto.
Anatomia
Testata da tavolo
Simile alle tabelle e alle tabelle scure, usa le classi di modifica .table-lighto .table-darkper far <thead>apparire le s in grigio chiaro o scuro.
A <caption>funziona come un'intestazione per una tabella. Aiuta gli utenti con utilità per la lettura dello schermo a trovare una tabella, capire di cosa si tratta e decidere se vogliono leggerla.
Elenco degli utenti
#
Primo
Scorso
Maneggiare
1
Segno
Ottone
@mdo
2
Giacobbe
Thornton
@Grasso
3
Larry l'Uccello
@twitter
<tableclass="table table-sm"><caption>List of users</caption><thead>
...
</thead><tbody>
...
</tbody></table>
Puoi anche mettere il <caption>sopra il tavolo con .caption-top.
Elenco degli utenti
#
Primo
Scorso
Maneggiare
1
Segno
Ottone
@mdo
2
Giacobbe
Thornton
@Grasso
3
Larry
l'uccello
@twitter
<tableclass="table caption-top"><caption>List of users</caption><thead><tr><thscope="col">#</th><thscope="col">First</th><thscope="col">Last</th><thscope="col">Handle</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table>
Tabelle reattive
Le tabelle reattive consentono di scorrere facilmente le tabelle orizzontalmente. Rendi reattiva qualsiasi tabella in tutte le viste avvolgendo a .tablecon .table-responsive. Oppure, scegli un punto di interruzione massimo con cui avere una tabella reattiva fino a utilizzando .table-responsive{-sm|-md|-lg|-xl|-xxl}.
Ritaglio/troncamento verticale
Le tabelle reattive utilizzano overflow-y: hidden, che ritaglia qualsiasi contenuto che va oltre i bordi inferiore o superiore della tabella. In particolare, questo può tagliare i menu a discesa e altri widget di terze parti.
Sempre reattivo
In ogni punto di interruzione, utilizzare .table-responsiveper le tabelle a scorrimento orizzontale.
Utilizzare .table-responsive{-sm|-md|-lg|-xl|-xxl}secondo necessità per creare tabelle reattive fino a un particolare punto di interruzione. Da quel punto di interruzione in su, la tabella si comporterà normalmente e non scorrerà orizzontalmente.
Queste tabelle possono apparire interrotte fino a quando i loro stili reattivi non si applicano a larghezze di visualizzazione specifiche.
Le variabili fattore ( $table-striped-bg-factor, $table-active-bg-factor& $table-hover-bg-factor) vengono utilizzate per determinare il contrasto nelle varianti di tabella.
A parte le varianti del tavolo chiaro e scuro, i colori del tema sono alleggeriti dalla $table-bg-levelvariabile.