[HTML] spostare div se quello adiacente è vuoto

samurai.sette

Utente Attivo
17 Dic 2015
235
6
18
Ciao a tutti. Nella mia pagina ho diversi DIV e ognuno contiene degli elementi ben precisi. Ho il DIV "menù" con diversi bottoni, il DIV "grafico" e il DIV "tabella". Il DIV menù si trova nella parte sinistra dello schermo, mentre i due DIV "grafico" e "tabella" si trovano nella parte centrale (il DIV "grafico" più in alto e subito sotto il DIV "tabella").

Alcune volte può capitare che il DIV "grafico" è vuoto e il DIV "tabella" no. In questa situazione vorrei che il DIV "tabella" salisse più in alto e occupasse lo spazio del DIV "grafico" in modo da non lasciare una zona vuota al centro dello schermo.
Ho provato a giostrare un po con gli stili CSS, ma non sono riuscito a risolvere niente.

Secondo voi cosa potrei fare?
Ciao, grazie mille
 
In genere se un div è vuoto non occupa spazio, se occupa spazio vuol dire che ga delle dimensioni prefissate fisse o contiene qualche coso
 
Ciao Max1. Grazie per l'aiuto. Effettivamente quando creo i DIV ho l'abitudine (probabilmente sbagliata...) di assegnargli delle dimensioni fisse (la larghezza).
Ho provato a togliere le dimensioni prefissate e mi ritrovo in due situazioni:
1) se il DIV "grafico" è vuoto, il DIV "tabella" viene posizionata in maniera perfetta.
2) se il DIV "grafico" non è vuoto, il DIV "grafico" non mi viene più posizionato nella parte centrale dello schermo ma sotto il DIV "menù" che si trova nella parte sinistra.
Ho pensato di allegare le regole CSS che ho scritto (troverai ancora le dimensioni fisse)
HTML:
#TITOLO {
    font-size: 45px;
    font-weight: bold;
    text-align: left;
    width: 1000px;
    margin-right: auto;
    margin-left: auto;
}
#CORPO {
    width: 1000px;
    margin-right: auto;
    margin-left: auto;
    color: #FFFFFF;
}
#MENU {
    width: 200px;
    float: left;
    background-color: #1CC06A;
}
#GRAFICO {
    width: 800px;
    float: left;
    color: #FFFFFF;
}
#TABELLA {
    width: 800px;
    margin-left: 200px;
    color: #000000;
}

Secondo te come potrei risolvere?
Ciao, grazie.
 
I div seguono il flusso della pagina pertanto si posizionano nel primo spazio disponibile, per evitare il posizionamento sbagliato devi dividere la pagina in due colonne menu e contenuti
Codice:
<div id="contenitore">
  <div id="menu">
      qui il menu
  </div>
  <div id="contenuti_pagina">
      qui i contenuti della pagina
  </div>
</div>
 
Ciao Max 1. E' esattamente questo quello che ho fatto. Ho creato un DIV chiamato "corpo" e l'ho posizionato al centro dello schermo. Al suo interno ho inserito i DIV "menù" e "grafico".
Se elimino la dimensione predefinita mi trovo in quelle due situazioni che ti ho descritto prima e non riesco a capire perchè.
Ciao.
 
Te lo detto sopra! Hai un livello in meno! Ti riposto il codice per chiarire meglio
Codice:
<div id="contenitore">
  <div id="menu">
      qui il menu
  </div>
  <div id="contenuti_pagina">
    <div id="grafico">Inserire qui i contenuti per grafico</div>
    <div id="tabella">Inserite qui il contenuto per tabella</div>
    qui i contenuti del resto  della pagina
    ogni contenuto deve avere il suo contenitore
  </div>
</div>
 
Ciao Max 1. Scusa se rispondo solo adesso ma sono stato impegnato un po con il lavoro.
Avevi ragione tu. Avevo creato un livello in meno ed ora ho risolto tutto.
Grazie mille. Ciao.
 

Discussioni simili