2009-10-06 7 views
6

Vorrei chiedere qual è il modo migliore per specificare la larghezza della colonna HTML? l'attributo width o l'attributo style? Supponendo che sto usando IE 6. IE rende l'attributo width migliore dello stile?Qual è il modo migliore per specificare larghezza della colonna fissa in HTML (larghezza o attributo stile)

Con attributo width

<table width="900"> 
    <tr> 
     <td width="450">A</td> 
     <td colspan="2" width="450">B&C</td> 
    </tr> 
    .... 
</table> 

Attributi stile

<table style="width:900px;"> 
    <tr> 
     <td style="width: 450px;">A</td> 
     <td colspan="2" style="width: 450px;">B&C</td> 
    </tr> 
    .... 
</table> 

risposta

14

primo luogo prima di rispondere alla tua domanda, qualcosa che si deve sapere è come le tabelle sono resi, sperimentare con lo stile di tabella a layout fisso per l'elemento tabella:

Se il browser conosce la larghezza delle prime colonne della riga della tabella in anticipo (se si fornisce lo stile fisso del layout tabella sulla tabella), il il browser può iniziare a visualizzare la parte superiore della tabella anche prima che calcolasse la larghezza di tutte le righe risultanti. Cosa significa? Le tabelle popolate da chiamate Ajax con un layout fisso possono iniziare a mostrare i risultati a un utente prima che la chiamata ajax sia completa. Il modo migliore per pensare a questo è come un jpg progressivo. Alla fine le tue pagine sembreranno caricarsi più velocemente.

table 
{ 
table-layout:fixed; 
} 

Ora per rispondere alla tua domanda.

In realtà nessuno dei due esempi forniti è corretto. in genere non si imposta la larghezza su una cella suddivisa su 2 o più celle. In ogni tabella è una buona idea creare almeno 1 riga con tutte le celle, questo può essere nel TH o (proprio come mi piace farlo in un tr vuoto

Ad esempio ...

<table> 
<tr> 
<td width="450"></td> 
<td width="225"></td> 
<td width="225"></td> 
</tr> 
<tr> 
<td>content here</td> 
<td colspan="2">content here</td> 
</tr> 
</table> 

Che cosa mai modo in cui si decide di utilizzare lo stile o la larghezza html solo di serie, la scelta è vostra, ma alla fine si dovrebbe avere la prima riga (se disposizione della tabella è fisso) o qualsiasi riga (se il layout della tabella è non fisso) per contenere la definizione della larghezza per ogni cella inviduale e questo ti aiuterà anche a pianificare la tabella corretta, speriamo che questo aiuti

Verificare la correzione del layout della tabella ed, creando una enorme tabella di 10.000 righe, e testare la velocità di rendering rispetto a un layout di tabella non fisso.

L'intero dibattito su HTML 4 rispetto a XHTML, stile vs attributi, penso che sia davvero una questione di manutenibilità. Non penso ci sia nulla di sbagliato nell'impostare la larghezza usando Style o plain width con HTML 4 transitional, entrambi fanno la stessa cosa. Il motivo per cui puoi fare entrambe le cose è che l'HTML si è evoluto un po ', sì, può diventare disordinato! Buona fortuna

+0

Ehi, grazie! Non lo sapevo riguardo al layout della tabella: risolto. –

3

Basta aggiungere <div> tag all'interno <td> o <th> definiscono larghezza interna <div>. Questo ti aiuterà. Nient'altro funziona.

es.

<td><div style="width: 50px" >...............</div></td> 
+1

Ciao e benvenuto sul nostro sito. Si prega di non spam vecchie domande con risposte accettate con risposte doppie come questo ^^^ e [questo] (http://stackoverflow.com/a/10474800/419). Se lo fai, allora è possibile che entrambe le domande siano duplicate, quindi contrassegna come tale. In questi casi il problema è felicemente risolto quindi, a meno che tu non abbia qualcosa di radicalmente nuovo da aggiungere, allora suggerisco di rispondere a domande nuove e senza risposta. Grazie. – Kev

Problemi correlati