2012-07-30 8 views
5

Questo mi ha bloccato: ho un elemento sulla mia pagina con una posizione assoluta, all'interno di un contenitore con una posizione relativa. In tutti i browser tranne IE7, appare nel punto corretto senza alcun problema.L'elemento non viene visualizzato in IE7 finché non lo modifico tramite la barra degli strumenti dello sviluppatore

In IE7, l'elemento non viene visualizzato fino a quando ho ad aggiungere o modificare alcuna delle sue proprietà CSS nella scheda Attributi della Barra degli strumenti per sviluppatori (anche proprietà che non hanno nulla a che fare con la sua visibilità o posizione, come color) . Una volta eseguita questa operazione, viene visualizzata correttamente e rimane visibile anche se elimino la proprietà che ho appena aggiunto (o annulla la modifica)!

Questo deve essere un bug di visualizzazione specifico per IE7, ma non riesco a capire come aggirarlo: ho lanciato float, zoom, ecc. Senza alcun risultato.

risposta

3

Ho risolto questo problema spostando l'elemento scomparendo un livello più in profondità, in un altro elemento figlio. Dato che l'elemento figlio è flottato, ma non ha una posizione, l'elemento scomparso è ancora posizionato rispetto all'elemento genitore, che è quello che voglio - ma per qualche motivo questo fa sì che sia visibile in IE7, come dovrebbe essere.

Questo è quello che avevo che ha causato l'elemento a scomparire (non il vero e proprio ID):

<div id="parent" style="position: relative;"> 
    <div id="disappear" style="position: absolute; left: -8px; top: -17px;>This element disappears</div> 
</div> 

Questo è ciò che lo fa apparire:

<div id="parent" style="position: relative;"> 
    <div id="child" style="float: left; width: 340px;"> 
    <div id="disappear" style="position: absolute; left: -8px; top: -17px;">Now this element appears</div> 
    </div> 
</div> 

Floating #parent e dandogli un width (le stesse due proprietà che ha #child) non ha funzionato, però - Devo usare un elemento figlio separato. Totalmente bizzarro, ma ho pensato di postarlo nel caso in cui qualcun altro si imbattesse nello stesso problema!

0

Non è strano come la barra degli strumenti dello sviluppatore di IE lo renda visibile ?!

L'ho risolto anziché utilizzare il posizionamento assoluto per l'elemento figlio utilizzando il posizionamento relativo con un margine negativo sinistro per posizionare l'elemento. Non ideale in quanto rende il design più fragile, ma la mia unica opzione al momento.

Problemi correlati