J'essaye de placer une table dans un div. Div a sa propre bordure, mais je veux aussi la bordure de la table. J'ai donc défini la bordure de td mais j'ai trouvé que ma table n'occupait pas tout l'espace disponible. Y a-t-il quelque chose qui me manque ici?
Voici l'exemple de implémentation : p >
J'essaye de mentionner le code ci-dessous:
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="style.css"> <script src="script.js"></script> </head> <body> <div class="container"> <table class="table"> <tr> <td>First</td> </tr> <tr> <td>Second</td> </tr> <tr> <td>Third</td> </tr> </table> </div> </body> </html>
/* Styles go here */ .container{ width: 250px; height: 250px; position: relative; border: 1px solid black; } .table{ position: absolute; width: 100%; } .table td{ border-bottom: 1px solid; padding: 0px; margin: 0px; width: 100%; } * { margin: 0px; padding: 0px; }
3 Réponses :
Avant HTML 5, ajoutez les éléments suivants à votre tableau en tant qu'attributs:
.table { position: absolute; width: 100%; border-collapse: collapse; border-spacing: 0; } .table td { border-bottom: 1px solid; padding: 0px; margin: 0px; width: 100%; padding: 0px; }
Pour référence: https://www.w3schools.com/tags/att_table_cellpadding.asp https://www.w3schools.com/tags/att_table_cellspacing.asp p >
HTML5 nécessite css.
table {border-collapse: collapse; border-spacing: 0;} th, td {padding: 0px;}
Donc pour votre cas:
cellpadding=0 cellspacing=0
Voir Fiddle: https://jsfiddle.net/jennifergoncalves/gtajLmqh/5/
J'ai mis à jour l'éditeur mais j'ai toujours trouvé une bordure séparée pour div et table. Veuillez vérifier le lien plunker mis à jour plnkr.co/edit/PldyKf60e6Jey1In3lPy
Quel navigateur utilisez-vous?
J'ai mis à jour l'éditeur mais j'ai toujours trouvé une bordure séparée pour div et table. Veuillez vérifier le lien plunker mis à jour plnkr.co/edit/PldyKf60e6Jey1In3lPy
Vous pouvez supprimer l'espace supplémentaire autour des cellules du tableau en définissant:
<div class="container"> <table class="table"> <tr> <td>First</td> </tr> <tr> <td>Second</td> </tr> <tr> <td>Third</td> </tr> </table> </div>
Il est défini sur border-collapse: séparé;
par défaut, en savoir plus sur MDN .
p>
.container { width: 250px; height: 250px; position: relative; border: 1px solid black; } .table { position: absolute; width: 100%; border-collapse: collapse; /*NEW*/ } .table td { border-bottom: 1px solid; padding: 0px; margin: 0px; width: 100%; } * { margin: 0px; padding: 0px; }
table { border-collapse: collapse; }
J'ai mis à jour l'éditeur mais j'ai toujours trouvé une bordure séparée pour div et table. Veuillez vérifier le lien plunker mis à jour plnkr.co/edit/PldyKf60e6Jey1In3lPy
@ManpritSinghSahota Il suffit de supprimer la bordure droite sur le td voir cette démo.
Si je supprime cette bordure, un espace vide s'affiche. Je veux supprimer cela.
@ManpritSinghSahota Il doit y avoir autre chose qui interfère, car la démo ci-dessus fonctionne bien.
J'ai mis à jour l'éditeur mais j'ai toujours trouvé une bordure séparée pour div et table. Veuillez vérifier le lien plunker mis à jour plnkr.co/edit/PldyKf60e6Jey1In3lPy
vous n'avez clairement pas affiché tout le code et le style pertinents sur ces éléments si votre résultat est différent des réponses fournies. Pourquoi utilisez-vous
position: absolue
sur votre table? Quel est votre style d'affichagediv
display
lorsque vous l'inspectez (à l'aide de F12 - Web Developer Tools)?Dans votre question, vous avez dit "Je veux aussi la bordure de la table ..." ce qui ne semble pas juste, et cela ne reflète pas votre code; car vous spécifiez une
bordure inférieure
sur votre cellule et ne spécifiez aucun style de bordure sur votre tableau.après avoir regardé votre Plunkr, je ne vois pas votre problème; Cependant, j'ai noté que vous avez ajouté
border-right: 1px solid black;
à votre.table td
. Veuillez mettre à jour votre question en fournissant une capture d'écran de ce que vous voyez; Dites-nous quel navigateur vous utilisez. Vérifiez également si ce problème est reproductible dans d'autres navigateurs / clients.