Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema DIV contenitore non si espande!

    Premetto che é la prima volta che provo utilizzare i div per creare il template di una pagina. PRima ho sempre usato le tabelle senza alcun problema ma vorrei fare qualcosa di un po' piú professionale e quindi ho deciso di passare ai div. Purtroppo giá adesso mi si propone un problema la cui soluzione é a me ignota. Io ho un div contenitore con height:100% (anche body ha height: 100%). Dentro questo div ci sono altri 3 div: header, contents e footer.
    Mentre header e footer hanno grandezza fissa, lo stesso non si puó dire di contents. Quello che vorrei fare é che, se header + contents + footer é minore dell'altezza della pagina allora footer deve essere allineato a fondo pagina e deve esserci uno spazio bianco fra contents e footer. Altrimenti footer deve essere subito sotto a contents. Il problema e che se per footer metto poistion:relative, non riesco ad allinearlo a fondo pagina a peno di non sapere gia l'altezza della stessa nonché di header + conents. Se invece metto position:absolute, viene si allineato a fondo pagina ma, se header + contents e minore dell'altezza della pagina, footer finisce sopra a contents. Presumo questo sia dovuto al fatto che, anche se contents si allarga per via dei suoi contenuti, lo stesso non accada al div contenitore che rimane sempre 100% causando questo errore.
    Sintetizzando il mio codice ha circa questo aspetto:
    codice:
    <div id='main'>
    <div id='header'></div>
    <div id='contents'></div>
    <div id='footer'></div>
    </div>
    Tutti i div hanno position:relative meno che main che ha position:absolute. L'effetto che vorreti tenere é simile a quello ottenuto con le tabelle in questo modo:
    codice:
    <table height=100%>
    <tr><td height=30></td></tr>
    <tr><td height=100></td></tr>
    <tr><td>Questo si adatta in modo da riempire la pagina oppure é uguale a 0</td></tr>
    <tr><td height=30></td></tr>
    </table>
    In qeusto caso la riga in cui il valore height non é settato é alta 0 se le altre righe sono maggiori del 100% della pagina, altrimenti é alta la rimanenza per far si che la tabella sia alta il 100%.
    Spero di essermi fatto capire
    PS: Scusate gli errori di battitura ma sono con una tastiera inglese e faccio qualche casino...

  2. #2
    Se vuoi che un div abbia l'altezza che si espande e si restringe in base al contenuto, non devi impostare height....
    per quanto riguarda il footer:
    - se lo vuoi che sia sempre sotto il div contents, subito dopo la fine, devi impostare top : 0; mentre se vuoi il footer attaccato alla base della vista del browser, alla fine della pagina, devi impostare bottom: 0;

  3. #3

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 © 2026 vBulletin Solutions, Inc. All rights reserved.