2010-07-22 12 views
21

C'è un tavolo simile a questo:IE8 ignora td width, lavora su IE7

<table width="100%"> 
<tr id="header"> 
<td colspan="2"></td> 
</tr> 
<tr id="center"> 
<td id="left" style="width: 201px"></td> 
<td id="mainpage" style="width: 100%"></td> 
</tr> 
</table> 

in tutti i browser (tra cui IE7) a parte IE8 TD "sinistra" va bene. In IE8 supera la larghezza in base al contenuto della pagina principale.

Vorrei pubblicare alcuni screenshot ma è il mio primo post qui.

Qualche idea di sorta?

+0

come si desidera rendere la larghezza totale della tabella 201px + 100% ?? –

+0

Io no. Ma questo layout risolve il problema IE7. E non influisce su IE8. – Bill

risposta

41

Quella width: 100% sulla seconda colonna non sembra corretta: se stai cercando di far espandere la seconda colonna al resto dello spazio disponibile, non dovresti averne bisogno, quindi puoi rimuoverla. Inoltre, aggiungere questo al vostro tavolo:

table-layout: fixed; 

per assicurarsi che le larghezze vengano rispettate.

codice completo:

<table style="width: 100%; table-layout: fixed;"> 
<colgroup> 
    <col style="width: 201px"> 
</colgroup> 
<tr id="header"> 
    <td colspan="2"></td> 
</tr> 
<tr id="center"> 
    <td id="left"></td> 
    <td id="mainpage"></td> 
</tr> 
</table> 
+0

Pensato a questo e fatto un tentativo, ma una volta impostato il layout della tabella per fissare le due colonne ottenere la stessa larghezza (50%) e ignora i valori fissi. Il 100% della seconda colonna è presente come correzione per IE7. – Bill

+0

Si prega di provare la soluzione modificata con cols aggiunto - non una soluzione terribilmente interessante ma funziona. – Razor

+0

Effettivamente lo fa! Sembra meglio della mia soluzione, andrò con quello. Grazie! – Bill

0

Sei sicuro che dovrebbe essere 100%

<table width="100%"> 

La tabella sarà grande come suo elemento genitore. Può essere che si dovrebbe impostare una larghezza fissa per la tabella:

<table width="600"> 
+0

La tabella si trova in un div che si adatta all'intero schermo. – Bill

0

Se si definisce una larghezza al vostro tavolo e per la vostra prima non è necessario definirla per il secondo.

Immagino che il secondo ottenga il 100% dal contenitore che è il tavolo.

0

Ebbene, problema alquanto risolto aggiungendo una tabella vuota con una larghezza fissa all'interno del mainpage.

In questo modo in realtà sto impostando una larghezza minima rispetto all'atteggiamento ignorante di IE. Grazie per tutte le risposte.