2010-11-07 9 views
7

Tengo una necesidad en una variedad de casos para asegurar que las celdas de la tabla no se encojan más allá de cierto ancho. Para lograr esto, he intentado una serie de opciones con resultados variables. Algunas de las opciones que he probado:¿Cómo se controla el ancho mínimo de una celda de tabla?

  • ancho en el TD: funciona bien, pero algunos navegadores ignoran y no es válida en HTML5
  • ancho de CSS dentro style="" u hoja de estilo: ignorado por algunos navegadores
  • imagen con ancho = X y alto = 1: provoca que el contenido del td se presione hacia arriba o hacia abajo (en más de 1px).
  • div con la anchura y la altura = X = 1 y float: left: esto parece funcionar mejor en este momento, aunque no empujar el contenido hacia arriba o hacia abajo ligeramente

¿Alguna otra idea?

necesito que trabajar en cualquier cosa, incluyendo IE6 :(pero si hay soluciones que no funcionan en IE6, pero todo lo demás, eso sería un comienzo de todos modos :)

+0

ir con divs y olvidarse de la mesa :) – s84

+0

Me encantaría. ¿Cómo los haría actuar exactamente como una tabla, incluyendo colspan y rowspan? –

+6

.. si se trata de una tabla, es una tabla ... Veo pocas razones para cambiar a los divs solo para que pueda usar el CSS para convertirlos nuevamente en tablas. –

Respuesta

15

No se puede controlar de forma confiable el ancho de una celda de la tabla. Lo mejor es envolver los contenidos en un DIV (o cualquier otro elemento de nivel de bloque) y apuntar a ese elemento.

+4

Pero si presenta datos tabulares, debe usar una tabla. Desde un punto de vista semántico, no usar una tabla para datos tabulares es tan malo como usar una tabla para datos no tabulares. –

+6

@Alberto Martínez no creo @Brandon es el sentido reemplazar toda la tabla, pero en lugar envolver los contenidos dentro de la célula en un div, como

foo bar

+0

Ah, yo no lo entiendo, en efecto, que lo haría Sería mejor que usar una imagen de espaciador. –

0

Mire el ancho mínimo. No es compatible con IE6, pero funcionará en la mayoría de los otros navegadores.

2

min-width controlará correctamente el mínimo - en buscadores que lo admitan correctamente. Muchas veces width puede funcionar como min-width en IE6-ish sinsentido. YMMV.

Cuestiones relacionadas