Bootstrap 4 - Tabelle
Descrizione
Le tabelle vengono utilizzate per visualizzare i dati in formato tabulare. Se vuoi uno stile di tabella di base con solo un po 'di imbottitura leggera e divisori orizzontali, aggiungi la classe .table all'elemento <table>. Per ulteriori informazioni sulla tabella di base e sui suoi elementi, consultare questo capitolo .
Tavolo scuro
Puoi utilizzare la classe .table-dark per aggiungere uno sfondo nero alla tabella come mostrato nell'esempio seguente:
Esempio
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Dark Table</h2>
<table class = "table table-dark">
<thead>
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr>
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
</tr>
<tr>
<td>Joe Root</td>
<td>England</td>
<td>2</td>
</tr>
<tr>
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Produrrà il seguente risultato:
Produzione
Opzioni di testata tabella
È possibile aggiungere uno sfondo nero o uno sfondo grigio alle intestazioni della tabella utilizzando le classi .thead-dark e .thead-light come illustrato nell'esempio seguente:
Esempio
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Dark Head</h2>
<table class = "table">
<thead class = "thead-dark">
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr>
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
</tr>
<tr>
<td>Joe Root</td>
<td>England</td>
<td>2</td>
</tr>
<tr>
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
</tr>
</tbody>
</table>
<h2>Light Head</h2>
<table class = "table">
<thead class = "thead-light">
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr>
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
</tr>
<tr>
<td>Joe Root</td>
<td>England</td>
<td>2</td>
</tr>
<tr>
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Produrrà il seguente risultato:
Produzione
Righe a strisce
Aggiungendo la classe .table-striped , otterrai strisce sulle righe come mostrato nell'esempio seguente:
Esempio
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Striped Rows</h2>
<table class = "table table-striped">
<thead>
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr>
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
</tr>
<tr>
<td>Joe Root</td>
<td>England</td>
<td>2</td>
</tr>
<tr>
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Produrrà il seguente risultato:
Produzione
Tavolo con bordi e senza bordi
Usa la classe .table-bordered per creare i bordi attorno alla tabella e alle celle. Se non vuoi usare border per una tabella, usa la classe .table-borderless .
L'esempio seguente mostra l'utilizzo delle classi precedenti nella tabella:
Esempio
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Bordered Table</h2>
<table class = "table table-bordered">
<thead>
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr>
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
</tr>
<tr>
<td>Joe Root</td>
<td>England</td>
<td>2</td>
</tr>
<tr>
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
</tr>
</tbody>
</table>
<h2>Borderless Table</h2>
<table class = "table table-borderless">
<thead>
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr>
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
</tr>
<tr>
<td>Joe Root</td>
<td>England</td>
<td>2</td>
</tr>
<tr>
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Produrrà il seguente risultato:
Produzione
Righe al passaggio del mouse
Aggiungendo la classe .table-hover , un colore di sfondo grigio chiaro verrà aggiunto alle righe mentre il cursore passa su di esse, come mostrato nell'esempio seguente:
Esempio
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Hoverable Rows</h2>
<table class = "table table-hover">
<thead>
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr>
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
</tr>
<tr>
<td>Joe Root</td>
<td>England</td>
<td>2</td>
</tr>
<tr>
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Produrrà il seguente risultato:
Produzione
Tavolino
È possibile utilizzare la classe .table-sm per creare il tavolino tagliando il riempimento delle celle a metà come mostrato nell'esempio seguente:
Esempio
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Small Table</h2>
<table class = "table table-sm">
<thead>
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr>
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
</tr>
<tr>
<td>Joe Root</td>
<td>England</td>
<td>2</td>
</tr>
<tr>
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Produrrà il seguente risultato:
Produzione
Classi contestuali
È possibile utilizzare classi contestuali per applicare il colore alle righe della tabella o alle celle della tabella come mostrato nell'esempio seguente:
Esempio
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Contextual Classes</h2>
<table class = "table">
<thead>
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr class = "table-active">
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
</tr>
<tr class = "table-success">
<td>Joe Root</td>
<td>England</td>
<td>2</td>
</tr>
<tr class = "table-danger">
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
</tr>
<tr class = "table-info">
<td>Kane Williamson</td>
<td>New Zealand</td>
<td>4</td>
</tr>
<tr class = "table-warning">
<td>Dinesh Chandimal</td>
<td>Srilanka</td>
<td>5</td>
</tr>
<tr class = "table-secondary">
<td>Alastair Cook</td>
<td>England</td>
<td>6</td>
</tr>
<tr class = "table-light">
<td>Kraigg Brathwaite</td>
<td>West Indies</td>
<td>7</td>
</tr>
<tr class = "table-primary">
<td>Cheteshwar Pujara</td>
<td>India</td>
<td>9</td>
</tr>
<tr class = "table-dark">
<td>Hashim Amla</td>
<td>South Africa</td>
<td>8</td>
</tr>
</tbody>
</table>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Produrrà il seguente risultato:
Produzione
Tabelle reattive
Avvolgendo qualsiasi .table in una classe .table-responsive , farai scorrere la tabella in orizzontale fino a piccoli dispositivi (sotto i 992px). Quando visualizzi qualcosa di più grande di 992 px di larghezza, non vedrai alcuna differenza in queste tabelle.
Esempio
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Responsive Tables</h2>
<table class = "table">
<thead>
<tr>
<th>Player</th>
<th>Country</th>
<th>Ranking</th>
<th>Runs</th>
<th>Highest Score</th>
<th>Avg</th>
<th>Strike Rate</th>
<th>Hundreds</th>
<th>Fifties</th>
</tr>
</thead>
<tbody>
<tr>
<td>Virat Kohli</td>
<td>India</td>
<td>1</td>
<td>9774</td>
<td>183</td>
<td>53.92</td>
<td>60.75</td>
<td>35</td>
<td>48</td>
</tr>
<tr>
<td>Joe Root</td>
<td>England</td>
<td>2</td>
<td>4800</td>
<td>133</td>
<td>51.61</td>
<td>55.20</td>
<td>13</td>
<td>28</td>
</tr>
<tr>
<td>Steven Smith</td>
<td>Australia</td>
<td>3</td>
<td>3431</td>
<td>164</td>
<td>41.84</td>
<td>86.36</td>
<td>10</td>
<td>19</td>
</tr>
</tbody>
</table>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Produrrà il seguente risultato: