Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Altezza div

  1. #1
    Utente di HTML.it L'avatar di nabozzz
    Registrato dal
    Nov 2004
    Messaggi
    145

    Altezza div

    Ciao a tutti

    ho creato una struttura a 2 colonne con larghezza fissa. L'altezza è variabile.
    Ho riscontrato un problema che non riesco a risolvere in alcun modo. Questo è il CSS

    Codice PHP:
    <style type="text/css">
    htmlbody {
        
    margin0;
        
    padding0;
        
    height100%;
        
    width100%;
        
    background-color#002e5c;
        
    background-image:url(bg.jpg);
        
    background-position:center top;
        
    background-repeat:no-repeat;
    }

    #main {
    width949px/*Width of main container*/
    margin0 auto/*Center container on page*/
    }

    #rightcolumn {
    floatleft;
    width729px;
    background-color#efefef;
    height100%;
    }

    #leftcolumn {
    floatleft;
    width220px/*Width of left column*/
    margin-left: -949px/*Set left margin to -(MainContainerWidth)*/
    height100%;
    }

    div.menu {
    width220px;
    height530px;
    margin0;
    padding0;
    backgroundurl(gfx/sfondo_menu.pngno-repeat;
    }

    div.sfondo {
    width220px/*Width of left column*/
    height100%;
    backgroundurl(gfx/sfondo_menu.gifrepeat;
    }

    #footer {
    clearleft;
    width949px;
    height29px;
    backgroundurl(gfx/sfondo_piede.pngno-repeat;
    color#FFF;
    text-aligncenter;
    padding0px 0;
    }
    </
    style
    e questo è l'html

    Codice PHP:
    <div id="main">
        <
    div id="contenuto">
            <
    div id="rightcolumn">
                <
    div class="innertube">Contenuto destra </div>
            </
    div>
        </
    div>

        <
    div id="leftcolumn">
            <
    div class="menu">Contenuto sinistra</div>
            <
    div class="sfondo"></div>
        </
    div>
        <
    div id="footer">Footer</div>    
    </
    div
    Il mio problema è che lo sfondo della colonna di sinistra che dovrebbe continuare PER TUTTA L'ALTEZZA della colonna destra, invece termina quando terminano i contenuti della colonna sinistra, perciò io mi ritrovo con 1 colonna mezza vuota (ho provato anche mettendo lo sfondo, ma il risultato è uguale. Ho visto che ci sono delle soluzioni con layout fluidi e le ho anche provate senza successo.

    Ho provato a creare un altro div (chiamato sfondo) sotto il div menu... ma niente da fare... essendo vuoto non mi fa vedere nulla....

    Grazie a chi mi risolverà sta cosa.
    ... tutti quanti portiamo un tabarro che asconde... qualche volta una gioia, qualche volta un dolore...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Io di solito uso le immagini di sfondo su dei "container"
    Una cosa del genere
    Codice PHP:
    <div id="main">
      <
    div id="container">
       <
    div id="container2">
        <
    div id="contenuto">
            <
    div id="rightcolumn">
                <
    div class="innertube">Contenuto destra </div>
            </
    div>
        </
    div>

        <
    div id="leftcolumn">
            <
    div class="menu">Contenuto sinistra</div>
            <
    div class="sfondo"></div>
        </
    div>
       </
    div>
      </
    div
     <
    div id="footer">Footer</div>    
    </
    div
    Come vedi ho aggiunto 2 div (container e container2) che "contengono" tutta la parte centrale (right column e left column)
    A questo punto crei due regole CSS
    Codice PHP:
    div#container
    {
    backgroundurl(left.gifrepeat-y top left
    }
    div#container2
    {
    backgroundurl(right.gifrepeat-y top right

    In modo che "left.gif" e "righ.gif" siano due immagini larghe esattamente quanto le colonne "left" e "right", alte 1 pixel

  3. #3
    Utente di HTML.it L'avatar di nabozzz
    Registrato dal
    Nov 2004
    Messaggi
    145
    grazie mille... ottima dritta... su IE7 funziona... su Mozilla no però...

    tieni conto che a me basta avere lo sfondo/immagine che continua solo nella colonna di sinistra, per cui ho risolto spostando la proprietà background sul main....

    come ripeto.. su IE funziona... su Mozilla no :-(
    ... tutti quanti portiamo un tabarro che asconde... qualche volta una gioia, qualche volta un dolore...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Questo è strano... magari ho scritto una vaccata da qualche parte... io di solito lavoro su mozilla e mi funziona tutot e poi sono costretto a fare i salti mortali per far funzionare le cose su IE (che lo possino!!)

    Comunque, per quello che devi fare tu ti consiglio un markup più semlice
    Codice PHP:
    <div id="main">
      <
    div id="main2">
        <
    div id="leftcolumn">
          <
    div class="menu">Contenuto sinistra</div>
        </
    div>
        <
    div id="rightcolumn">
          <
    div class="innertube">Contenuto destra </div>
        </
    div>
      </
    div>
    </
    div>
    <
    div id="footer">Footer</div
    con questo css
    Codice PHP:
    htmlbody {
    margin0;
    padding0;
    width100%;
    }
    #main {
    margin0 auto/*Center container on page*/
    }

    #leftcolumn {
    floatleft;
    width220px/*Width of left column*/
    }
    #rightcolumn {
    margin-left230px;
    }

    #footer {
    clearboth;
    backgroundurl(gfx/sfondo_piede.pngno-repeat;
    text-aligncenter;
    padding0px 0;

    (potresti anche rimuovere i div "menu" e "innertube" se non ti servono per altre cose)
    In questo modo la colonna di destra (grazie al margin-left) si posiziona e occupa tutto lo spazio concesso dal browser e non sei obbligato a definire "width" (cosa che comunque puoi fare)
    Dopo di che applichi le due immagini
    Codice PHP:
    backgroundurl(left.gifrepeat-y top right
    background
    url(right.gifrepeat-y top left
    una a "main" e una a "main2" (o solo ad una delle due...)
    E il gioco è fatto
    A quel punto puoi giocare con "background-color" e "background-image" in maniera tranquilla poichè tutto dovrebbe rimanere a posto sia su IE che su Firefox
    Per dare un'occhiata a come si posizionano gli elementi metti dei background-color diversi e ti regoli
    E in generale non usare "height" per i "contenuti". Lascia che le colonne si alzino e si abbassino in base a quanto sono "piene"

  5. #5
    Utente di HTML.it L'avatar di nabozzz
    Registrato dal
    Nov 2004
    Messaggi
    145
    Grazie mille, ora è tutto a posto... non so come mai, ho semplicemente riscritto tutto in maniera + semplice e ora è proprio come lo volevo.

    Grazie ancora!
    ... tutti quanti portiamo un tabarro che asconde... qualche volta una gioia, qualche volta un dolore...

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.