2009-02-20 42 views
68

Ho una tabella con diversi gruppi di colonne. La tabella è più grande della mia pagina, quindi ho un controllo per mostrare/nascondere alcuni di questi gruppi per adattarli alla pagina. La tabella iniziale sembra buona: tutte le colonne hanno all'incirca la stessa larghezza all'interno di un gruppo. Ma quando nascondo un gruppo, le colonne non hanno più la stessa larghezza, e sembra male.Tabella HTML: mantenere la stessa larghezza per le colonne

Esempio: http://www.reviews-web-hosting.com/companies/apollohosting.html (link non funzionante)

Finora, il tavolo sembra bene. Clicca su >>. La prima colonna sotto "Ecommerce Pro" è molto più ampia delle altre colonne in "Ecommerce Pro", sembra strana. Fare clic su < <, questa volta la prima colonna sotto "Valore" è troppo ampia. Almeno su Firefox.

ho provato ad usare

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

ma senza fortuna. Se imposto una colonna su style = "display: none", il set di colonne è ancora visualizzato.

Qualche suggerimento HTML/CSS per mantenere le colonne con la stessa larghezza di un gruppo?

Edit:

  • per nascondere una colonna, devo usare la visibilità: crollo
  • sembra essere il ridimensionamento bene ora, non so il motivo per cui
+0

La finestra di autenticazione impedisce l'utilizzo del sito. –

+0

Mi impedisce solo di vedere alcune immagini. –

+0

Questo è un .htaccess errato che chiede di autenticare per ottenere le immagini sotto/siti. Lo aggiusterò stasera. Sto ancora lavorando alla costruzione del sito. – Julien

risposta

176

Se si imposta lo stile sul proprio tavolo, è possibile ignorare il ridimensionamento automatico della colonna del browser. Il browser imposterà quindi le larghezze delle colonne in base alla larghezza delle celle nella prima riga della tabella. Cambia il tuo <thead> a <caption> e rimuovi il <td> al suo interno, quindi imposta le larghezze fisse per le celle in <tbody>.

+0

+1: questa risposta mi ha aiutato con un problema solo cinque minuti fa. – banjollity

+10

La singola modifica dell'aggiunta di 'table-layout: fixed;' ha risolto lo stesso problema per me (FFox 11). – heltonbiker

+10

che senso ha utilizzare il layout della tabella corretto se è necessario impostare la larghezza della cella? – jokoon

0

Nella tua caso, dal momento che si sta mostrando solo 3 colonne:

Name Value  Business 
    or 
Name Business Ecommerce Pro 

perché non impostare tutti e 3 su una larghezza del 33,3%. poiché solo 3 sono mai mostrati in una sola volta, il browser dovrebbe renderli tutti di una larghezza simile.

+4

Il numero di celle può cambiare dato che nascondo/mostro colonne diverse – Julien

0

bene, perché non si (sbarazzarsi della barra laterale e) spremere il tavolo in modo che sia senza effetto mostra/nascondi? Mi sembra strano ora. Il tavolo è troppo robusto.
Altrimenti penso che il suggerimento di scunliffe dovrebbe farlo. Oppure, se lo desideri, puoi semplicemente impostare la larghezza esatta della tabella e impostare la percentuale o la larghezza del pixel per le celle della tabella.

+0

Alcune tabelle sono troppo grandi, l'evento senza la barra laterale. – Julien

14

assegnare questo stile a td: larghezza: 1%;

+0

Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti da un autore, lascia un commento sotto il loro post. – Werner

+4

ha funzionato per il mio caso, altrimenti non lo posterei! –

+1

Grazie per il post Tone, ha fatto esattamente quello che volevo – Ian

Problemi correlati