2011-09-06 18 views
27

Ho due elementi div in una pagina. Come posso fare in modo che un div diventi mobile rispetto ad un altro come un popup?Creare un div div a un altro

+1

Mmmm ... credo che si desidera utilizzare un [ID] (http://leandrovieira.com/projects/jquery/ID /). – Cygnusx1

risposta

27

Utilizzare position:absolute; e impostare il "popup" da posizionare all'interno dei confini dell'altro. Il div "popup" dovrebbe probabilmente anche essere più piccolo.

Utilizzare z-index per impilare il "popup" uno sopra l'altro (assegnargli un valore superiore per z-index).

Se si vuole far sembrare che il div interno sia realmente fluttuante sopra l'altro, creare un'ombra con qualcosa come border-right:2px solid black e border-bottom:2px solid black.

Se si desidera renderlo effettivamente visualizzato/visualizzato/a scomparsa, sarà necessario utilizzare alcuni script.

+0

Come aggiungere un "offset" dopo aver specificato la sua posizione come assoluta? È impossibile perché considera le nuove coordinate come coordinate assolute in modo che diventi inutile. Ma chiaramente avrebbe dovuto essere possibile specificare un offset perché anche quando è "assoluto" non viene visualizzato a (0, 0) – pete

+0

Sono stato in grado di risolvere il mio problema utilizzando il seguente: var l = blah.offset(). sinistra; blah.offset ({left: l + 10}); – pete

3

Quindi utilizzare proprietà z-index css simili:

div1 { 
    z-index:1000; 
} 

div2 { 
z-index:1001; 
} 

Massima elemento z-index sarà visualizzato in alto.

7

credo che l'impostazione del position-fixed causerà che rimanga visibile anche se l'utente scorre. Puoi impostare la posizione usando gli attributi "top", "left" e "right". Il CSS che uso per un logo "beta", che fa sostanzialmente quello che stai chiedendo è questo:

.fixed{ 
    position:fixed; 
    top:0px; 
    right:0px; 
    width:100px; 
} 
Problemi correlati