J'ai une table de 3 par 3. J'ai besoin d'un moyen d'ajouter une bordure pour le bas de chaque ligne tr
et de lui donner une couleur spécifique.
J'ai d'abord essayé la voie directe, c'est-à-dire:
<tr style="border-bottom:1pt solid black;">
Mais ça n'a pas marché. J'ai donc ajouté CSS comme ceci:
tr {
border-bottom: 1pt solid black;
}
Cela n'a toujours pas fonctionné.
Je préférerais utiliser CSS car je n'ai pas besoin d'ajouter d'attribut style
à chaque ligne ..__ Je n'ai pas ajouté d'attribut border
au <table>
. J'espère que cela n'affecte pas mon CSS.
J'ai eu un problème comme ça avant. Je ne pense pas que tr
puisse prendre un style de bordure directement. Ma solution de contournement consistait à appeler les td
s dans la ligne:
<tr class="border_bottom">
CSS:
tr.border_bottom td {
border-bottom:1pt solid black;
}
Utilisez border-collapse:collapse
sur la table et border-bottom: 1pt solid black;
sur le tr
Utilisation
border-collapse:collapse
comme Nathan l'a écrit et vous devez définir
td { border-bottom: 1px solid #000; }
Il y a beaucoup de réponses incomplètes ici. Comme vous ne pouvez pas appliquer de bordure à la balise tr
, vous devez l'appliquer aux balises td
ou th
comme suit:
td {
border-bottom: 1pt solid black;
}
Cela laissera un petit espace entre chaque td
, ce qui n’est probablement pas souhaitable si vous voulez que la bordure apparaisse comme si elle était la balise tr
. Afin de "combler les lacunes" pour ainsi dire, vous devez utiliser la propriété border-collapse
sur l'élément table
et définir sa valeur sur collapse
, comme suit:
table {
border-collapse: collapse;
}
Affiche la ligne sous forme de bloc.
tr {
display: block;
border-bottom: 1px solid #000;
}
et pour afficher des couleurs alternatives simplement:
tr.oddrow {
display: block;
border-bottom: 1px solid #F00;
}
Utilisation
table{border-collapse:collapse}
tr{border-top:thin solid}
Remplacez "mince solide" par les propriétés CSS.
Lors de l’utilisation de cette méthode, j’ai constaté que l’espace entre les éléments td provoquait la formation d’un espace vide dans la bordure,.
Un moyen de contourner cela:
<tr>
<td>
Example of normal table data
</td>
<td class="end" colspan="/* total number of columns in entire table*/">
/* insert nothing in here */
</td>
</tr>
Avec le CSS:
td.end{
border:2px solid black;
}
J'ai essayé d'ajouter
table {
border-collapse: collapse;
}
à côté du
tr {
bottom-border: 2pt solid #color;
}
et ensuite commenté out border-collapse pour voir ce qui a fonctionné. Avoir juste le sélecteur de tr avec la propriété du bas-frontière a fonctionné pour moi!
Pas de frontière CSS ex.
Pas de photo Border live
CSS Border ex.
Table avec photo Border live
<td style="border-bottom-style: solid; border-bottom: thick dotted #ff0000; ">
Vous pouvez faire la même chose pour toute la ligne.
Il existe border-bottom-style
, border-top-style
, border-left-style
, border-right-style
. Ou simplement border-style
qui s’appliquent aux quatre frontières à la fois.
Vous pouvez voir (et ESSAYEZ-VOUS en ligne) plus de détails ici
Vous ne pouvez pas mettre de bordure sur un élément tr. Cela a fonctionné pour moi dans firefox et IE 11:
<td style='border-bottom:1pt solid black'>
Plusieurs réponses intéressantes. Puisque vous voulez juste une bordure en bas (ou en haut), voici deux autres. En supposant que vous vouliez une bordure bleue de 3 pixels d'épaisseur. Dans la section de style, vous pouvez ajouter
.blueB {background-color:blue; height:3px} or
hr {background-color:blue; color:blue height:3px}
Dans le code de la table soit
<tr><td colspan='3' class='blueB></td></tr> or
<tr><td colspan='3'><hr></td></tr>
Pas de bordure de bordure CSS:
<table>
<thead>
<tr>
<th>Title</th>
</tr>
<tr>
<th>
<hr>
</th>
</tr>
</thead>
</table>
Une autre solution à cela est border-spacing
property:
table td {
border-bottom: 2px solid black;
}
table {
border-spacing: 0px;
}
<table>
<tr>
<td>ABC</td>
<td>XYZ</td>
</table>
Vous pouvez utiliser la propriété box-shadow
pour simuler la bordure d'un élément tr
. Ajustez la position Y de box-shadow
(représenté ci-dessous par 2px) pour ajuster l’épaisseur.
tr {
-webkit-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
-moz-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
}