2010-05-27 13 views
44

prima di tutto non sono abbastanza bravo in web design.Tabella con larghezza del 100% con colonne di uguale dimensione. (un nome variabile)

Devo creare dinamicamente una tabella con un numero variabile di colonne, determinato in fase di esecuzione.

Qualcuno può dirmi se è possibile avere una tabella html con colonne di uguale dimensione che sono completamente allungate?

Eventuali suggerimenti?

+1

La risposta in basso (con molti voti) deve essere contrassegnata come risposta accettata, in quanto è più corretta e risolve universalmente il problema. – Micros

risposta

40
<table width="400px"> 
    <tr> 
    <td width="100px"></td> 
    <td width="100px"></td> 
    <td width="100px"></td> 
    <td width="100px"></td> 
    </tr> 
</table> 

Per numero variabile di colonne utilizzare%

<table width="100%"> 
    <tr> 
    <td width="(100/x)%"></td> 
    </tr> 
</table> 

dove 'x' è il numero di colonne

+3

+1 per il secondo approccio. Ma cosa, piedi? Pollici? Centimetri? Pixel? Usa unità. :) – ANeves

+2

Questo è esattamente il punto. Il primo esempio è indifferente all'unità utilizzata. – EdMelo

+1

Questo prende in considerazione i confini di tr e tds? Credo di no. – Ninad

-4
  1. calcolare quanti colonne che si desidera
  2. capire cosa percentuale di larghezza ogni colonna ha bisogno di: floor(100/n)
  3. Applicare larghezze percentuali al le celle dell'intestazione mentre le emettete
  4. ???
  5. PROFITTO !!
+0

Volevo solo dire che ottengo totalmente il riferimento :) –

7

TUTTO quello che dovete fare:

HTML:

<table id="my-table"><tr> 
<td> CELL 1 With a lot of text in it</td> 
<td> CELL 2 </td> 
<td> CELL 3 </td> 
<td> CELL 4 With a lot of text in it </td> 
<td> CELL 5 </td> 
</tr></table> 

CSS:

#my-table{width:100%;} /*or whatever width you want*/ 
#my-table td{width:2000px;} /*something big*/ 
+1

questo non funziona per me. puoi fornire un esempio funzionante? –

+0

http://jsfiddle.net/aroykos/mVX93/ – aroykos

+0

funziona ora - Ho provato l'approccio 'td {width: 100%}' e non ha funzionato, ma '2000px' funziona bene. –

99

Se non si conosce il numero di colonne che si sta per avere la dichiarazione

table-layout: fixed

insieme non impostare una colonna larghezze, implicherebbe che i browser dividono la larghezza totale in modo uniforme - non importa quale.

Questo può anche essere il problema con questo approccio, se si utilizza questo, si dovrebbe anche considerare come deve essere gestito l'overflow.

+0

Vorrei adottare questo approccio per una tabella a schermo intero senza overflow. quante colonne creerebbe? puoi per favore creare una demo per capirlo meglio? – ProgramCpp

+2

http://jsfiddle.net/5babcvg4/ Si crea una tabella con tutte le colonne che si desidera, quindi si aggiunge la dichiarazione alla tabella. – orszaczky

+5

Si noti che è necessario impostare la larghezza della tabella (ad esempio 'width: 100%;'). –

Problemi correlati