2013-02-24 1 views
5

Prendete questo: http://jsfiddle.net/zVscL/4/Firefox, problema IE9 + con div altezza 100% all'interno di un td (esempio di lavoro su Chrome)

.edit-me { 
height:100%; /*does not behave the same as Chrome*/ 
width:10px; 
border:1px solid blue; 
background:red; 
float:left; 
overflow: auto; 
} 

Aprire la pagina su Chrome, quindi Firefox. Il div blu non eredita

C'è una spiegazione perché questo accade? Qualche correzione? Sono preferibili soluzioni Pure HTML/CSS.

Sono stato a questa merda per ore cercando di convincere i CSS a comportarsi e quando finalmente FF lo fa. Mangiando il mio tempo di sviluppo.

+1

Problema simile discusso: http://stackoverflow.com/questions/1110915/is-a-div-inside-a-td-a-bad-idea – dragonfly

+0

Grazie, devo far sapere al mio capo che i div in tds sono un cattiva idea a volte! – meiryo

risposta

9

impostare l'altezza del tr e td-100% Prova:

tr, td { height: 100%; } 

generale per arrivare height: 100% per funzionare correttamente, tutte le altezze dei genitori del elemento deve essere impostato come bene.

EDIT:

Una soluzione alternativa è quella di avvolgere il contenuto della td con un contenitore div e utilizzare il posizionamento assoluto per garantire la .edit-me div sia efficace al 100% altezza.

Ecco cosa il codice HTML sarà simile:

<table border="1"> 
    <tr> 
     <td> 
      <div class="container"> 
       <div class="edit-me"></div> 
       Foo 
       <br/> 
       Bar 
      </div> 
     </td> 
     <td>hello</td> 
    </tr> 
</table> 

e CSS:

.container { 
    position: relative; 
    padding-left: 10px; 
} 

.edit-me { 
    position: absolute; 
    top: 0; 
    bottom: 0; 
    left: 0; 

    width:10px; 
    border:1px solid blue; 
    background:red; 
    overflow: auto; 
} 

Spero che questo aiuti!

+0

Non funziona su IE ... http://jsfiddle.net/zVscL/7/ (per fortuna supportiamo solo IE9 + – meiryo

+0

Fammi sapere se puoi farlo con IE9 +. Potrei non accettare la risposta. – meiryo

+0

Scusa non ho facile accesso a IE9 + al momento. Sentiti libero di non accettare, se lo desideri. La mia unica raccomandazione è provare ad impostare l'altezza del tavolo e/o provare ad impostare le altezze di 'td',' tr', 'table' in pixel al posto delle percentuali – Xavi