Comment puis-je appliquer une bordure uniquement à l'intérieur d'un tableau?
Je suis à essayer de comprendre comment ajouter de la frontière qu'à l'intérieur de la table. Quand je fais:
table {
border: 0;
}
table td, table th {
border: 1px solid black;
}
La frontière est autour de la table et aussi entre les cellules de tableau. Ce que je veux réaliser est d'avoir des frontières qu'à l'intérieur de la table autour des cellules de tableau (sans bordure autour de la table).
Ici est de balisage j'utilise pour les tables (même si je pense que ce n'est pas important):
<table>
<tr>
<th>Heading 1</th>
<th>Heading 2</th>
</tr>
<tr>
<td>Cell (1,1)</td>
<td>Cell (1,2)</td>
</tr>
<tr>
<td>Cell (2,1)</td>
<td>Cell (2,2)</td>
</tr>
<tr>
<td>Cell (3,1)</td>
<td>Cell (3,2)</td>
</tr>
</table>
Et voici quelques styles de base I s'appliquent à la plupart de mes tables:
table {
border-collapse: collapse;
border-spacing: 0;
}
- Je ne vois que des frontières autour des cellules. Puisque chacune des cellules ont une frontière, il semble que la table a une frontière. Peut-être que je ne comprends pas la question?
- Aussi appelé frontières intérieures.
Vous devez vous connecter pour publier un commentaire.
Si vous faites ce que je crois que vous êtes en train de faire, vous aurez besoin de quelque chose d'un peu plus comme ceci:
jsFiddle Démo
Le problème, c'est que vous définissez une "frontière" autour de toutes les cellules, qui font paraître comme si vous avez une bordure autour de l'ensemble de la table.
Acclamations.
EDIT: UN peu plus d'infos sur ces pseudo-classes peuvent être trouvés sur quirksmode, et, comme attendu, vous êtes assez bien S. O. L. en termes d'IE de soutien.
cela fonctionne pour moi:
voir l'exemple ...
testé dans FF 3.6 et Chrome 5.0, c'est à dire manque de soutien; de W3C:
Exemple d'un très simple façon pour vous d'obtenir l'effet désiré:
frame
etrules
sont VIEUX (pas HTML5)table
attributs (il faut utiliser le CSS à la place).frame
dit quelles sont les parties de hors les bordures du tableau doit être visible -void
moyen de masquer tous à l'extérieur des frontières...rules
dit quelles sont les parties de à l'intérieur les bordures du tableau doit être visible -all
tous... évidemment... s'il vous Plaît ne pas l'utiliser, sauf si vous êtes HTML3 fanatique ... 🙂En raison de mantain compatibilité avec ie7, ie8, je vous conseille d'utiliser d'abord l'enfant et non pas le dernier enfant de le faire:
Vous pouvez en apprendre davantage sur CSS 2.1 Pseudo-classes:
http://msdn.microsoft.com/en-us/library/cc351024(SV.85).aspx
De table ordinaire de balisage, voici une petite solution qui fonctionne sur tous les appareils/les navigateurs sur BrowserStack, sauf IE 7 et ci-dessous:
Pour IE 7, ajouter ceci:
Un cas de test peut être vu ici: http://codepen.io/dalgard/pen/wmcdE
cela devrait fonctionner:
edit:
je l'ai juste essayé, pas de table de la frontière. mais si j'ai mis une bordure de tableau, il est éliminé par le border-collapse.
c'est le testfile:
qui va tout faire sans css
<TABLE BORDER=1 RULES=ALL FRAME=VOID>
code à partir de: CODE HTML TUTORIEL
Ajouter une bordure à chaque cellule avec ceci:
Supprimer la bordure supérieure de toutes les cellules de la première ligne:
Supprimer la bordure gauche à partir de cellules de la première colonne:
Supprimer la bordure droite de l'cellules dans la dernière colonne:
Supprimer la bordure inférieure de cellules dans la dernière ligne:
http://jsfiddle.net/hzru0ytx/
Fonctionne pour n'importe quelle combinaison de tbody/thead/tfoot et td/th
CSS:
HTML: