voici un exemple de mon code:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<div class="row">
<div class="col-6">
<div class="card mt-4">
<div class="card-header">
<h5 class="text-center">Comments</h5>
</div>
<div class="card-body">
<table class="table table-primary">
<thead>
<tr>
<th colspan="6">
<div class="pull-left">
<button type="button" class="btn btn-outline-secondary btn-sm"><i class="fa fa-plus-circle" aria-hidden="true"></i> Add New</button>
</div>
<div class="pull-right">
<button type="button" class="btn btn-outline-secondary btn-sm"><i class="fa fa-list" aria-hidden="true"></i> View All</button>
</div>
</th>
</tr>
<tr>
<th>Subject</th>
<th>Author</th>
<th>Date</th>
<th>Year</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
<tr>
<td>This is a test comment</td>
<td>John Wick</td>
<td>06/28/2019</td>
<td>2019</td>
<td class="text-center">
<button type="button" class="btn btn-outline-secondary btn-sm comment-edit">Edit</button>
</td>
<td class="text-center">
<button type="button" class="btn btn-outline-secondary btn-sm comment-delete">Delete</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
Comme vous pouvez le voir dans mon exemple, le tableau déborde le corps de la carte. Existe-t-il un moyen d'adapter la table à l'intérieur du corps de la carte? Merci.
3 Réponses :
Bootstrap a une classe .table-responsive que vous pouvez utiliser pour avoir une table responsive. Il ajoutera un défilement horizontal si nécessaire.
<div class="table-responsive">
<table class="table">
...
</table>
</div>
En savoir plus: DOCUMENTATION
Sidenote - utilisez la dernière version de bootstrap et jQuery car les anciennes versions peuvent avoir des bogues.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>
<div class="row">
<div class="col-6">
<div class="card mt-4">
<div class="card-header">
<h5 class="text-center">Comments</h5>
</div>
<div class="card-body">
<table class="table-responsive table-primary">
<thead>
<tr>
<th colspan="6">
<div class="pull-left">
<button type="button" class="btn btn-outline-secondary btn-sm"><i class="fa fa-plus-circle" aria-hidden="true"></i> Add New</button>
</div>
<div class="pull-right">
<button type="button" class="btn btn-outline-secondary btn-sm"><i class="fa fa-list" aria-hidden="true"></i> View All</button>
</div>
</th>
</tr>
<tr>
<th>Subject</th>
<th>Author</th>
<th>Date</th>
<th>Year</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
<tr>
<td>This is a test comment</td>
<td>John Wick</td>
<td>06/28/2019</td>
<td>2019</td>
<td class="text-center">
<button type="button" class="btn btn-outline-secondary btn-sm comment-edit">Edit</button>
</td>
<td class="text-center">
<button type="button" class="btn btn-outline-secondary btn-sm comment-delete">Delete</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>
Vous pouvez utiliser .table-responsive au lieu d'utiliser .table sur votre table
p >
C'est faux. Vous ne pouvez pas remplacer .table par .table-responsive . Vous devez ajouter .table-responsive à l'élément parent.
Ce n'est pas faux .table n'a que les propriétés suivantes qui ne sont pas difficiles et rapides à utiliser. .table {largeur: 100%; marge inférieure: 1rem; couleur de fond: transparent; } Ce code ne fera pas les changements majeurs, btw merci pour le commentaire.
Essayez cette solution et vous pourrez modifier en conséquence,
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<div style="max-width:400px">
<div class="row">
<div class="col-12">
<div class="card mt-4">
<div class="card-header">
<h5 class="text-center">Comments</h5>
</div>
<div class="card-body">
<table class="table table-primary table-responsive">
<thead>
<tr>
<th colspan="6">
<div class="pull-left">
<button type="button" class="btn btn-outline-secondary btn-sm"><i class="fa fa-plus-circle" aria-hidden="true"></i> Add New</button>
</div>
<div class="pull-right">
<button type="button" class="btn btn-outline-secondary btn-sm"><i class="fa fa-list" aria-hidden="true"></i> View All</button>
</div>
</th>
</tr>
<tr>
<th>Subject</th>
<th>Author</th>
<th>Date</th>
<th>Year</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
<tr>
<td>This is a test comment</td>
<td>John Wick</td>
<td>06/28/2019</td>
<td>2019</td>
<td class="text-center">
<button type="button" class="btn btn-outline-secondary btn-sm comment-edit">Edit</button>
</td>
<td class="text-center">
<button type="button" class="btn btn-outline-secondary btn-sm comment-delete">Delete</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
C'est faux. .table-responsive doit être ajouté à l'élément parent de .table .
soit obtenir un parchemin pour la table, soit rendre le contenu de la table minuscule (sans rembourrage) ...