Estoy tratando de descubrir cómo agregar bordes solo dentro de la tabla. Cuando lo hago:
table {
border: 0;
}
table td, table th {
border: 1px solid black;
}
El borde está alrededor de toda la tabla y también entre las celdas de la tabla. Lo que quiero lograr es tener un borde solo dentro de la tabla alrededor de las celdas de la tabla (sin borde exterior alrededor de la tabla).
Aquí está el marcado que estoy usando para las tablas (aunque creo que eso no es importante):
<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>
Y aquí hay algunos estilos básicos que aplico a la mayoría de mis tablas:
table {
border-collapse: collapse;
border-spacing: 0;
}
html
css
html-table
border
Richard Knop
fuente
fuente
Respuestas:
Si está haciendo lo que creo que está tratando de hacer, necesitará algo un poco más como esto:
jsFiddle Demo
El problema es que está configurando un 'borde completo' alrededor de todas las celdas, lo que hace que parezca que tiene un borde alrededor de toda la tabla.
Salud.
EDITAR: se puede encontrar un poco más de información sobre esas pseudo-clases en quirksmode y, como era de esperar, usted es prácticamente SOL en términos de soporte de IE.
fuente
esto funciona para mi:
ver ejemplo ...
probado en FF 3.6 y Chromium 5.0, IE carece de soporte; de W3C :
fuente
Ejemplo de una manera muy simple para que usted logre el efecto deseado:
fuente
frame
yrules
son atributos VIEJOS (no HTML5)table
(en su lugar, debe usar CSS).frame
dice qué partes de los bordes exteriores de la mesa deben estar visibles -void
significa ocultar todos los bordes exteriores ...rules
dice qué partes de los bordes interiores de la mesa deben estar visibles -all
significa todos ... obviamente ... Por favor, no use esto, a menos que son fanáticos de HTML3 ... :)Debido a la compatibilidad de mantenimiento con ie7, ie8, sugiero usar el primer hijo y no el último hijo para hacer esto:
Puede obtener información sobre las pseudo-clases CSS 2.1 en: http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
fuente
Para el marcado de tabla ordinario, aquí hay una solución corta que funciona en todos los dispositivos / navegadores en BrowserStack, excepto IE 7 y siguientes:
Para el soporte de IE 7, agregue esto:
Puede ver un caso de prueba aquí: http://codepen.io/dalgard/pen/wmcdE
fuente
Esto debería funcionar:
editar:
Acabo de probarlo, no hay borde de la mesa. pero si configuro un borde de tabla, se elimina por el colapso del borde.
Este es el archivo de prueba:
fuente
eso lo hará todo sin css
<TABLE BORDER=1 RULES=ALL FRAME=VOID>
código de: TUTORIAL DE CÓDIGO HTML
fuente
Agregue el borde a cada celda con esto:
Elimine el borde superior de todas las celdas en la primera fila:
Elimine el borde izquierdo de las celdas en la primera columna:
Elimine el borde derecho de las celdas en la última columna:
Elimine el borde inferior de las celdas en la última fila:
http://jsfiddle.net/hzru0ytx/
fuente
Funciona para cualquier combinación de tbody / thead / tfoot y td / th
fuente