Pour une raison quelconque, je n'ai pas pu obtenir de cellules de tableau pour avoir une marge entre elles. Je veux que les cellules du tableau aient une couleur d'arrière-plan grise (sur un arrière-plan de page blanc) afin qu'elles ressemblent à des tuiles avec du blanc entre elles.
J'ai essayé dans le HTML,
<table cellspacing="3">
Toujours dans le CSS,
table td {
margin:3px;
}
Rien ne fonctionne. Les cellules sont toujours collées ensemble, comme une grosse goutte grise. Suis-je en train de manquer quelque chose de très très basique?
Voici le code réel:
<table width="100%" cellspacing="3">
<tr>
<th>Document Number</th>
<th>BP Reference No.</th>
<th>Posting Date</th>
<th>Posting Week</th>
<th>Customer/Vendor Code</th>
<th>Customer/Vendor Name</th>
<th>Item No.</th>
<th>Item/Service Description</th>
<th>Item Group</th>
<th>Warehouse Code</th>
<th>Remaining Open Quantity</th>
<th>Line No.</th>
<th>Sales Employee Name</th>
<th>Stock</th>
<th>Fill Rate</th>
<th>1046</th>
<th>1047</th>
<th>1048</th>
<th>1049</th>
<th>1050</th>
<th>1051</th>
<th>1052</th>
<th>1053</th>
<th>1054</th>
<th></th>
</tr>
<tr>
<td>17272</td>
<td>2244100</td>
<td>5/24/2010</td>
<td>22</td>
<td>NYST</td>
<td>NYSTROM INC.</td>
<td>NYM118SX26DSTKS01</td>
<td>Nystrom, Mort. 1-1/8'', Schl C~K, US26D, ST cam, 5pin, KS #43758</td>
<td>Mort Cylinders</td>
<td>US1</td>
<td>1000</td>
<td>3</td>
<td>KRE Management 1</td>
<td>0</td>
<td>100</td>
<td>1000</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td></td>
</tr>
</table>
Si quelqu'un a toujours ce problème, essayez ceci dans votre feuille de style CSS:
table {
border-collapse: separate;
border-spacing: 10px 5px;
}
Les valeurs d'espacement des bordures sont deux mesures de longueur. La valeur horizontale vient en premier et s'applique entre les colonnes. La deuxième mesure est appliquée entre les lignes.
Si vous fournissez une valeur, elle sera utilisée à la fois horizontalement et verticalement. Le paramètre par défaut est 0, ce qui fait doubler les bordures sur la grille intérieure du tableau.
Si vous utilisez une réinitialisation CSS au début de votre feuille de style, vérifiez si elle contient le code suivant.
table {
border-collapse: collapse;
}
Si tel est le cas, essayez de le remplacer par:
border-collapse: separate;
faire le style td avec le bloc. Essaye ça,
<table width="100%" border="0" cellpadding="2" cellspacing="1">
<tbody>
<tr>
<td class="SlateGridDataError">Please Re-enter login information</td>
</tr>
</tbody>
</table>
.SlateGridDataError {
border-radius: 2px;
display: block;
font-size: 14px;
color: #999999;
display:block;
border: 1px solid #dd3c39;
border-left: 5px solid #dd3c39;
padding: 12px 5px;
margin-bottom: 20px;
cursor: default;
outline: none;
}
Je pense que cellspacing
prend la même couleur que la couleur d'arrière-plan du tableau.
Vous avez donc deux options:
1. Appliquez la couleur d'arrière-plan aux td
s plutôt qu'aux <table>
lui-même.
2. Vous pouvez utiliser une bordure blanche (border
pour <td>
avec un border-collapse: collapse
pour le tableau)
Essayez d'ajouter un td entre les deux TDs dont vous voulez avoir la marge. Définissez-le pour qu'il n'ait pas d'arrière-plan (ne mettez simplement pas "arrière-plan: quelque chose;") et pour avoir la largeur souhaitée. Si vous voulez mettre une marge entre deux TR, ajoutez simplement un autre tr entre eux et mettez un td avec la hauteur que vous voulez que la marge ait. Vous pouvez même utiliser la même classe pour les TD et définir le CSS une seule fois.