J'essaie de comprendre comment ajouter une bordure uniquement à l'intérieur du tableau. Quand je fais:
table {
border: 0;
}
table td, table th {
border: 1px solid black;
}
La bordure est autour de l'ensemble du tableau et également entre les cellules du tableau. Ce que je veux réaliser, c'est d'avoir une bordure uniquement à l'intérieur du tableau autour des cellules du tableau (sans bordure extérieure autour du tableau).
Voici le balisage que j'utilise pour les tableaux (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 que j'applique à la plupart de mes tableaux:
table {
border-collapse: collapse;
border-spacing: 0;
}
html
css
html-table
border
Richard Knop
la source
la source
Réponses:
Si vous faites ce que je crois que vous essayez de faire, vous aurez besoin de quelque chose d'un peu plus comme ceci:
Démo jsFiddle
Le problème est que vous définissez une «bordure complète» autour de toutes les cellules, ce qui donne l'impression d'avoir une bordure autour de la table entière.
À votre santé.
EDIT: Un peu plus d'informations sur ces pseudo-classes peuvent être trouvées sur quirksmode , et, comme on pouvait s'y attendre, vous êtes à peu près SOL en termes de support IE.
la source
cela fonctionne pour moi:
voir l'exemple ...
testé dans FF 3.6 et Chromium 5.0, IE manque de support; du W3C :
la source
Exemple d'un moyen très simple pour vous d'obtenir l'effet souhaité:
la source
frame
etrules
sont des attributs ANCIENS (pas HTML5)table
(vous devriez utiliser CSS à la place).frame
indique quelles parties des bordures extérieures du tableau doivent être visibles -void
signifie cacher toutes les bordures extérieures ...rules
indique quelles parties des bordures intérieures du tableau doivent être visibles -all
signifie toutes ... évidemment ... Veuillez ne pas l'utiliser, sauf si vous sont fanatiques de HTML3 ... :)En raison de la compatibilité de mantain avec ie7, ie8, je suggère d'utiliser le premier enfant et non le dernier enfant pour faire ceci:
Vous pouvez en savoir plus sur les pseudo-classes CSS 2.1 à l' adresse : http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
la source
Pour le balisage de table ordinaire, voici une solution courte qui fonctionne sur tous les appareils / navigateurs sur BrowserStack, sauf IE 7 et les versions antérieures:
Pour la prise en charge d'IE 7, ajoutez ceci:
Un cas de test peut être vu ici: http://codepen.io/dalgard/pen/wmcdE
la source
cela devrait fonctionner:
Éditer:
je viens de l'essayer, pas de bordure de table. mais si je place une bordure de table, elle est éliminée par le border-collapse.
c'est le fichier de test:
la source
qui fera tout sans css
<TABLE BORDER=1 RULES=ALL FRAME=VOID>
code de: HTML CODE TUTORIAL
la source
Ajoutez la bordure à chaque cellule avec ceci:
Supprimez la bordure supérieure de toutes les cellules de la première ligne:
Supprimez la bordure gauche des cellules de la première colonne:
Supprimez la bordure droite des cellules de la dernière colonne:
Supprimez la bordure inférieure des cellules de la dernière ligne:
http://jsfiddle.net/hzru0ytx/
la source
Fonctionne pour toute combinaison de tbody / thead / tfoot et td / th
la source