2009-02-20 32 views
68

Tengo una tabla con varios grupos de columnas. La tabla es más grande que mi página, por lo que tengo un control para mostrar/ocultar algunos de estos grupos para que quepan en la página. La tabla inicial se ve bien: todas las columnas tienen aproximadamente el mismo ancho dentro de un grupo. Pero cuando oculto un grupo, las columnas ya no tienen el mismo ancho y se ven mal.Tabla HTML: mantener el mismo ancho para las columnas

Ejemplo: http://www.reviews-web-hosting.com/companies/apollohosting.html (enlace roto)

Hasta el momento, la mesa se ve bien. Haga clic en >>. La primera columna en "Ecommerce Pro" es mucho más ancha que las otras columnas en "Ecommerce Pro", parece extraña. Haga clic en < <, esta vez la primera columna en "Valor" es demasiado amplia. Al menos en Firefox.

He intentado utilizar

<colgroup><col /><col span="5" />... 

pero no hubo suerte. Si configuro un col para style = "display: none", el conjunto de columnas aún se muestra.

¿Alguna sugerencia de HTML/CSS para mantener las columnas con el mismo ancho dentro de un grupo?

Editar:

  • para ocultar una columna, tengo que usar la visibilidad: colapso
  • parece ser el cambio de tamaño, así ahora, no sé qué
+0

El cuadro de diálogo de autenticación me impide usar el sitio. –

+0

Solo me impide ver algunas imágenes. –

+0

Eso es un .htaccess incorrecto que solicita autenticarse para obtener las imágenes en/sites. Lo arreglaré esta noche. Todavía estoy trabajando en la construcción del sitio. – Julien

Respuesta

176

Si establece el estilo en su tabla, puede anular el cambio de tamaño automático de la columna del navegador. El navegador establecerá el ancho de las columnas en función del ancho de las celdas en la primera fila de la tabla. Cambie su <thead> a <caption> y elimine el <td> dentro de él, y luego establezca los anchos fijos para las celdas en <tbody>.

+0

+1: Esta respuesta me ayudó con un problema hace solo cinco minutos. – banjollity

+10

La única modificación de agregar 'table-layout: fixed;' resolvió el mismo problema para mí (FFox 11). – heltonbiker

+10

¿De qué sirve usar el diseño de tabla si necesita establecer el ancho de celda? – jokoon

0

En su caso, ya que solo muestra 3 columnas:

Name Value  Business 
    or 
Name Business Ecommerce Pro 

¿Por qué no configurar los 3 para tener un ancho de 33.3%? ya que solo 3 se muestran a la vez, el navegador debe hacer que todos tengan un ancho similar.

+4

El número de celdas puede cambiar ya que oculto/muestro diferentes columnas – Julien

0

bien, ¿por qué no (deshace de la barra lateral y) aprieta la mesa para que no muestre/oculte el efecto? Me parece extraño ahora. La mesa es muy robusta.
De lo contrario, creo que la sugerencia de scunliffe debería hacerlo. O, si lo desea, puede establecer el ancho exacto de la tabla y establecer el porcentaje o el ancho del píxel para las celdas de la tabla.

+0

Algunas tablas son demasiado grandes, evento sin la barra lateral. – Julien

14

dan este estilo a td: ancho: 1%;

+0

Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar aclaraciones de un autor, deje un comentario debajo de su publicación. – Werner

+4

ha funcionado para mi caso, de lo contrario no lo publicaría! –

+1

Gracias por el mensaje Tono, hice exactamente lo que quería – Ian

Cuestiones relacionadas