2010-01-09 7 views
5

Tengo una tabla que, por otras razones, prefiero mantener el colapso de tabla: por separado. Sin embargo, me gustaría poder resaltar una fila o columna individual. Desafortunadamente, parece que cualquier estilo aplicado a las etiquetas <tr> o <col> solo se aplica a las celdas, no al espacio entre ellas. Por ejemplo:Estilo de fila o columna en lugar de celdas al colapso de borde: separar

<style> 
    td { width: 10px; height: 10px; } 
</style> 
<table style="background-color: purple"> 
    <colgroup> 
    <col span="2"> 
    <col style="background-color: red;"> 
    <col span="2"> 
    <colgroup> 
    <tr><td><td><td><td><td></tr> 
    <tr><td><td><td><td><td></tr> 
    <tr style="background-color: orange;"><td><td><td><td><td></tr> 
    <tr><td><td><td><td><td></tr> 
    <tr><td><td><td><td><td></tr> 
</table> 

resultados en una tabla púrpura con 5 celdas verticales y 5 células horizontales llenas de color pero no toda la fila o columna.

¿Tengo alguna opción además de usar border-collapse: collapse para completar ese espacio entre celdas en una fila o columna determinada?

+0

¿Está el límite de espacio entre bordes fuera de límites también? – Joel

+0

Establecer 'border-spacing: 0' probablemente sería simplemente un poco más atractivo teniendo en cuenta mis encabezados de columna actuales que' border-collapse: collapse' pero aún no es ideal. –

Respuesta

1

Si usa un ancho de fila constante, puede usar colspan para unir todas las celdas de una fila en una sola celda y luego crear una nueva tabla con bordes separados con el color de fondo de su elección.

+0

Interesante, no había pensado en eso. Y sí, mis celdas tienen una altura y un ancho fijos, así que probablemente funcionen. Aunque es feo, la mayoría de los html terminan siendo feos ... –

4
No

con border-collapse: separate, los W3C specifications sates exactamente:

Tenga en cuenta que si la tabla tiene 'border-collapse: separate', el fondo de la zona propuesta por el 'border-spacing' propiedad es siempre el fondo del elemento de la tabla. Vea el separated borders model.

Y:

En [el espaciado de bordes] espacio, la fila, columna, grupo de filas y columnas de grupo fondos son invisibles, permitiendo que el fondo de la tabla para mostrar a través. Las filas, columnas, grupos de filas y grupos de columnas no pueden tener bordes (es decir, los agentes de usuario deben ignorar las propiedades de borde para esos elementos).

Es posible que desee comprobar la compatibilidad del navegador en CSS tabla:

0

table-collapse: separate con cellspacing chupa un poco por esta razón. Probablemente sea mejor que no se colapsen los bordes y rellenen manualmente las celdas individuales en CSS.

Cuestiones relacionadas