Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666

    Evitare sovrapposizione di 2 div, uno centrato l'altro in alto

    Ciao a tutti, sto provando a realizzare una pagina che abbia al centro assoluto un div (contenente una tabella) di dimensioni 700x500 px ed ho impostato in questo modo lo stile CSS:

    codice:
    	width:700px; 
    	height:500px; 
    	position:absolute;
    	top:50%;
    	left:50%;  
    	margin:-250px 0 0 -350px;
    Inoltre ho inserito un div che dovrà contenere il menu e che è posizionato sempre in alto alla pagina e l'ho impostato così:

    codice:
    	width: 100%; 
    	height: 100px; 
    	position: absolute;
    	top: 0;
    	left: 0;  
    	margin: 0 0 0 0px;
    Sembrerebbe funzionare il tutto, ma se cambio risoluzione al monitor, oppure rimpicciolisco la finestra, i 2 div si sovrappongono.

    Come posso risolvere?

    Grazie mille!
    AltF4

  2. #2
    innanzitutto, il posizionamento assoluto di un elemnto di blocco provoca uno spostamento di quello stesso elemento, come ben sai, spostamento che è relativo al primo elemento progenitore posizionato a sua volta in modo assoluto. nel tuo caso il div è figlio del body ma il body non è posizionato in modo asoluto. in questo caso quindi il posizionamento/spostamento assoluto sarà in riferimento alla pagina HTML.
    io quindi ti consiglio innanzitutto di stabilire larghezza e altezza per il body e margin (0 auto). quindi inserisci il primo div, altezza 100px, larghezza 100% (quindi occuperà la stessa larghezza del body), quindi questo div starà in alto e nessuno lo disturberà. il secondo div lo posizionerai in relative: potrai usare valori in pixel, quindi ti regolerai tu a seconda della grandezza che attribuirai al body e al div superiore per far si che non si accavallino, oppure in percentuali (valori in percentuali calcolati rispetto all'elemento apdre che è il body)

    ciao!

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    ciao, scusa una domanda

    perchè hai messo??

    Codice PHP:
    margin:-250px 0 0 -350px

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    ciao, scusa una domanda
    perchè hai messo??

    margin:-250px 0 0 -350px;
    Avevo letto da qualche parte che in questo modo quel div potesse risultare sempre centrato all'interno della pagina, ti risulta un errore? E' grave? Come fare in alternativa?
    AltF4

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    Originariamente inviato da MrMarco
    ti consiglio innanzitutto di stabilire larghezza e altezza per il body e margin (0 auto). quindi inserisci il primo div, altezza 100px, larghezza 100% (quindi occuperà la stessa larghezza del body), quindi questo div starà in alto e nessuno lo disturberà.
    Fatto in questo modo e funziona senza problemi!

    Originariamente inviato da MrMarco
    il secondo div lo posizionerai in relative: potrai usare valori in pixel, quindi ti regolerai tu a seconda della grandezza che attribuirai al body e al div superiore per far si che non si accavallino, oppure in percentuali (valori in percentuali calcolati rispetto all'elemento apdre che è il body)
    Ho fatto così:

    codice:
    	width:700px; 
    	height:500px; 
    	position:relative;
    ma non riesco a capire come centrare il secondo DIV.

    Dovrei inserirlo al centro della pagina e dovrebbe rimanere lì su tutti i monitor, a qualsiasi risoluzione e non accavallarsi con il DIV superiore.
    AltF4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.