Cela signifie que la table résultante ressemble moins à ceci:
[=== ROW ===] [=== ROW ===] [=== ROW ===] [=== ROW ===]
... et plus comme ça:
[=== ROW ===] [=== ROW ===] [=== ROW ===] [= == ROW ===]
J'ai essayé d'ajouter
margin-bottom:1em;
à la fois td et tr mais rien obtenu. Des idées?
table {
border-collapse: collapse;
}
td {
padding-top: .5em;
padding-bottom: .5em;
}
Les cellules ne réagissent à rien sauf si vous définissez d'abord le bord de la fenêtre. Vous pouvez également ajouter des bordures aux éléments TR une fois que cela est défini (entre autres).
S'il s'agit d'une mise en page, je passerais à l'utilisation de DIV et de techniques de mise en page plus récentes, mais s'il s'agit de données tabulaires, supprimez-vous. J'utilise toujours beaucoup les tableaux dans mes applications Web pour les données.
Tout ce dont tu as besoin:
table {
border-collapse: separate;
border-spacing: 0 1em;
}
Cela suppose que vous souhaitiez un écart vertical de 1em et non un écart horizontal. Si vous faites cela, vous devriez probablement aussi regarder comment contrôler votre hauteur de ligne.
C'est un peu étrange que certaines des réponses données impliquent un effondrement de la frontière: effondrement, dont l'effet est exactement le contraire de ce que la question demandait.
Si aucune des autres réponses ne donne satisfaction, vous pouvez toujours créez simplement une ligne vide et appelez-la avec CSS de manière appropriée pour la rendre transparente.
Si vous n'avez pas de bordure ou si vous souhaitez conserver l'espacement à l'intérieur des cellules, vous pouvez utiliser padding
ou line-height
. Pour autant que je sache, la marge n'a aucun effet sur les cellules et les lignes.
Une propriété CSS pour l’espacement des cellules est border-spacing
, mais cela ne fonctionne pas sur IE6/7 (vous pouvez donc l’utiliser en fonction de votre foule).
Si tout échoue, vous pouvez utiliser l'ancien attribut cellspacing
dans votre balisage, mais cela vous donnera également un espacement entre les colonnes. Certains CSS reset suggèrent que vous deviez quand même le configurer pour obtenir une prise en charge multi-navigateurs:
Les tables/* ont toujours besoin de
cellspacing="0"
dans le balisage * /
C'est comme ça (je pensais que c'était impossible):
Commencez par donner à la table uniquement un espacement vertical des bordures (par exemple 5px) et définissez-le sur 0. Vous devez ensuite définir des bordures appropriées pour chaque cellule de la rangée. Par exemple, la cellule la plus à droite de chaque ligne doit avoir une bordure en haut, en bas et à droite. Les cellules les plus à gauche doivent avoir une bordure en haut, en bas et à gauche. Et les autres cellules entre ces 2 ne devraient avoir de bordure en haut et en bas. Comme cet exemple:
<table style="border-spacing:0 5px; color:black">
<tr>
<td style="border-bottom:thin black solid; border-top:thin black solid; border-left:thin black solid;">left-most cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid;">other cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid;">other cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid;">other cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid; border-right:thin black solid;">right-most cell</td>
</tr>
<tr>
<td style="border-bottom:thin black solid; border-top:thin black solid; border-left:thin black solid;">left-most cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid;">other cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid;">other cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid;">other cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid; border-right:thin black solid;">right-most cell</td>
</tr>
<tr>
<td style="border-bottom:thin black solid; border-top:thin black solid; border-left:thin black solid;">left-most cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid;">other cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid;">other cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid;">other cell</td>
<td style="border-bottom:thin black solid; border-top:thin black solid; border-right:thin black solid;">right-most cell</td>
</tr>
</table>
Vous pouvez simplement utiliser padding-top
et padding-bottom
sur un élément td
.
Unité peut rien dans cette liste:
td
{
padding-top: 10px;
padding-bottom: 10px;
}
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
</tr>
<tr>
<td>Lois</td>
<td>Griffin</td>
</tr>
</table>
À mon avis, le moyen le plus simple consiste à ajouter du rembourrage à votre tag.
td {
padding: 10px 0
}
J'espère que ceci vous aidera! Acclamation!
le remplissage dans TD fonctionne si vous voulez que l'espace ait la même couleur d'arrière-plan que td
dans mon cas, l'exigence était de laisser un espace entre la rangée d'en-tête et tout ce qui se trouvait au-dessus
en appliquant ce style à une seule cellule, j'ai pu obtenir la séparation souhaitée. Il n'était pas nécessaire de l'ajouter à toutes les cellules ... Sans doute pas le PLUS élégant, mais peut-être plus élégant que les lignes de séparation.
<td colspan="10">
<div class="HeaderRow"
style="margin-top:10px;">
<%# Eval("VendorName")%>
</div>
</td>