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

    layout 2 colonne: footer Vs. google maps

    Saluti a tutti,

    avrei una domanda su cui sto sbattendo la testa da un pò.
    L'idea è semplice, vorrei fare una pagina con header, 2 colonne e footer.
    Una delle due colonne ha un "float:right" per stare a destra, larghezza fissa in pixel altezza 100%, nell'altra di sinistra vorrei metterci il div della google map esteso all 100% di larghezza e altezza.
    A fondo pagina dove dovrebbe starci il footer (non in chiusura dei contenuti ma proprio in fondo facendo riferimento a quanto trovato nell'articolo su html.it dove si parla di problema del footer)
    vi riporto html e CSS:

    html, body{
    margin: 0px;
    text-align: center; /*centra in IE 5.x */
    }
    body>div#container{height:auto; min-height:100%}

    /*** DIV ***/
    div#header{height: 73px; padding:10px 30px 0px 30px}
    div#container{
    background: url('images/main/bg.gif');
    position:relative;
    height: 100%;
    margin: 0 auto;
    }
    /* div contenuto sx*/
    div#main {
    margin-right:340px;
    height: 100%;
    }
    div#map {
    padding: 10px;
    height:100%;
    width: 100%;
    }

    /* menu laterale dx */
    div#local{
    float:right;
    width:330px;
    }

    /* footer */
    div#footer{
    position: absolute;
    height:34px;
    bottom:0;
    width: 98%;
    padding: 0;
    margin-left: 1%;
    background: url('images/main/bottom.jpg');
    clear: both;
    }
    e questo è l'html:
    <body>
    <div id="container">
    <div id="header">
    contenuto testuale
    </div>
    <div id="local">MENU </div>
    <div id="main">
    <div id="map"></div>
    </div>

    <br style="clear: both" />
    <div id="footer">contenuto footer</div>
    </div>
    </body>
    </html>
    e ora i problemi:
    se nel css, alla riga:

    body>div#container{height:auto; min-height:100%}

    lascio la regola height:auto;

    in Firefox la mappa mi si allunga ben oltre il footer, il quale rimane "sopra" la mappa (che per altro si allunga ben più dell'altezza dello schermo).
    Se lascio la regola height:auto invece il footer sta al suo posto in basso allo schermo,
    il container si allunga effettivamente al 100% ma gli altri div no, e la mappa infatti mi resta ad altezza zero...

    allego due esempi:

    come si vede lasciando la regola height: auto
    http://img120.imageshack.us/img120/936/62789952jy0.jpg

    come si vede togliendo la regola height: auto
    http://img505.imageshack.us/img505/2362/60246359pv7.jpg

  2. #2
    Elimina:
    l' "height: auto" dal div "container"
    il "position: absolute" dal div "footer"

  3. #3
    prima di tutto grazie della risposta

    facendo come dici tu non mi ritrovo però il footer subito sotto i contenuti?
    io cercavo di metterlo in "fondo allo schermo", il position absolute l'avevo messo facendo riferimento all'esempio trovato nella sezione CSS del sito...

    l'esempio riportato si visualizzava così:

    http://html.it/guide/esempi/layout_css/esempio15b.html

    il CSS indicato era questo:

    html,body{margin:0; padding: 0;height: 100%}
    div#container{position: relative; height:100%}
    body>div#container{height: auto; min-height: 100%}
    div#content{padding: 0 1.5em 5em}
    div#footer{position:absolute;bottom: 0;width: 100%}

    devo dedurre che se faccio un layout a due colonne con un float non posso avere questa situazione? :master:

  4. #4
    Originariamente inviato da bolivio
    prima di tutto grazie della risposta

    facendo come dici tu non mi ritrovo però il footer subito sotto i contenuti?
    io cercavo di metterlo in "fondo allo schermo", il position absolute l'avevo messo facendo riferimento all'esempio trovato nella sezione CSS del sito...

    l'esempio riportato si visualizzava così:

    http://html.it/guide/esempi/layout_css/esempio15b.html

    il CSS indicato era questo:

    html,body{margin:0; padding: 0;height: 100%}
    div#container{position: relative; height:100%}
    body>div#container{height: auto; min-height: 100%}
    div#content{padding: 0 1.5em 5em}
    div#footer{position:absolute;bottom: 0;width: 100%}

    devo dedurre che se faccio un layout a due colonne con un float non posso avere questa situazione? :master:
    Ho dovuto ricostruire, immaginando, la tua pagina.
    Se il footer ha "position: absolute" ed è settato per occupare sempre la parte inferiore del tuo schermo, resterà lì indipendentemente dai tuoi contenuti.
    Viceversa, si posizionerà subito dopo la fine del div "main".

  5. #5
    se può essere d'interesse io ho risolto, ravanando un pò in rete, tirando fuori il footer dal container principale e danto a ques'ultimo altezza 100%.

    L'unico difetto è quello di trovarsi la barra di scorrimento verticale sempre in evidenza perchè a questo punto l'altezza del layout diventa 100% + altezza del footer.
    Mi è sembrato l'unico modo per avere il footer sempre a fondo pagina...

  6. #6
    Originariamente inviato da bolivio
    se può essere d'interesse io ho risolto, ravanando un pò in rete, tirando fuori il footer dal container principale e danto a ques'ultimo altezza 100%.
    Un cambio nel codice della pagina. L'importante è che tu abbia raggiunto il risultato.

  7. #7
    si, anche se è ancora presto per cantare vittoria...
    è la prima volta che faccio un intero layout coi CSS e sto sputando sangue

    già che ci sono posto i css di footer e container che ho trovato per fare questo lavoro così magari ne nasce qualche commento chiarificatore e se a qualcuno servisse almeno sono qui...

    div#container {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto -34px; /* the bottom margin is the negative value of the footer's height */

    }
    .footer {
    height: 34px; /* .push must be the same height as .footer */
    }

    .push {
    height: 34px; /* .push must be the same height as .footer */
    }
    il div con classe "push" viene aperto e chiuso subito prima del footer, non che abbia capito bene a che cosa serve ma visto che funzionava

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.