2010-06-18 13 views

risposta

7

GMail gira su un iframe e l'overlay div non si trova all'interno di questo iframe, quindi rimane sopra l'iframe di conseguenza in cima alla barra di scorrimento.

Codice da GMail

html, body { 
    height:100%; 
    margin:0; 
    overflow:hidden; /* no scrollbars (only in the iframe) */ 
    width:100%; 
} 

.cO { /* this is the iframe */ 
    height:100%; 
    width:100%; 
} 

.Kj-JD { 
    background-color:#C3D9FF; 
    border:1px solid #4E5766; 
    color:#000000; 
    outline:0 none; 
    padding:5px; 
    position:absolute; 
    top:0; 
    width:450px; 
    z-index:501; /* div stays on top */ 
} 

.Kj-JD-Jh { /* the shadow */ 
    background-color:#808080; 
    left:0; 
    position:absolute; 
    top:0; 
    z-index:500; 
} 

HTML di esempio

<body> 
    <iframe class="cO">...</iframe> <!-- the scroll works on the iframe, not the body --> 
    <div class="Kj-JD"></div> <!-- outside the iframe --> 
    <div class="Kj-JD-Jh" style="opacity: 0.5; width: 1440px; height: 361px;"></div> <!-- black background --> 
</body> 

Per mostrare un div in cima raccomando jqModal, si fa tutto il lavoro duro per voi.

+0

puoi mostrarmi un esempio su quello che hai detto. –

+1

Ho aggiunto una parte del codice Gmail, il corpo non ha una scroll, ma l'iframe lo fa, e il div non è all'interno dell'iframe, il che significa che può essere posizionato sopra qualsiasi cosa all'interno del corpo, di conseguenza in cima le barre di scorrimento. – BrunoLM

+0

Grazie mille BrunoLM –

1

Dai un'occhiata all'opzione modale in jQuery UI Dialog o JavaScript alert() se hai bisogno solo di una semplice finestra di dialogo.

Problemi correlati