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

    layout gala 2 colonne (float) e menu in posizione assoluta

    Salve a tutti.

    Sto cercando di mettere in pratica tutorial di html pro "Layout gala: 2 colonne liquide e fisse" che si trova in questa pagina e in particolare faccio riferimento all'ultima parte, quella che parla dei layout a 2 colonne fisse, usando la proprietà "float".

    La variante che vorrei inserire è che vorrei poter sistemare la barra di navigazione da qualche altra parte rispetto al flusso, per esempio in alto.

    Il markup generale è il solito:

    <div id="container">
    <div id="header">Header</div>
    <div id="wrapper">
    <div id="content">Contenuto</div>
    </div>
    <div id="navigation">Navigazione</div>
    <div id="extra">Sezione extra</div>
    <div id="footer">Footer</div>
    </div>

    Il fatto è che, dopo aver posizionato i div "div#wrapper", "div#content" e "div#extra" con i vari float, e dopo aver assegnato "clear:both" al "div#footer", se do a "div#container" la proprietà "position:relative", e a "div#navigation " "position:absolute ", quest'ultimo sparisce letteralmente al di sotto dei contenuti e degli extra . Solo se "svuoto" queste due aree e faccio collassare il footer contro l'header, mi rendo conto che la barra di navigazione c'è, ha assunto la posizione che le ho assegnato, ma in condizioni normali rimane nascosta dal resto della mia pagina web.
    Dove sbaglio? Scusate se magari pongo una questione stupida, ma ho provato a cercare nel forum e non solo, e non ho trovato nulla di illuminante.

    Grazie comunque a tutti.

  2. #2
    Se non sbaglio assegnando la prorietà position:absolute; togli il div dal flusso della pagina e quindi il motore di rendering del browser crea la pagina come se non ci fosse.
    Io eviterei di usare position:absolute, piuttosto posiziona relativamente rispetto a un altro div.

  3. #3
    Ciao.
    Purtroppo con la posizione relativa mi si incasina ancora di più.

    Il mio dilemma è questo:

    dato un #container e 3 div contenuti in esso, se ne affianco 2 con float:left e float:right e tento di posizionare il terzo (uno qualsiasi) in un punto preciso del layout con position:absolute, Explorer me lo fa sparire. Perchè??????

    Non mi è chiaro il motivo di questa cosa e non riesco ad individuare la soluzione.

    Non è mai successo a nessuno?


    ...sigh!

  4. #4

    Ho risolto

    Spero che possa essere utile a qualcuno.

    Riassumo...

    ho una pagina HTML con la seguente struttura:


    <div id="container">
    <div id="header">Header</div>
    <div id="wrapper">
    <div id="content">Contenuto</div>
    </div>
    <div id="navigation">Navigazione</div>
    <div id="extra">Sezione extra</div>
    <div id="footer">Footer</div>
    </div>


    Voglio sistemare il contenuto principale a sinistra, il div extra a destra e la navigazione in alto, un po' a sinistra.

    Ho risolto rendendo float:left tutti e tre gli elementi e spostandoli grazie ai margini negativi (in particolare il div della navigazione, che volevo spostato in alto e a sinistra) in questo modo:

    * {margin: 0; padding: 0}

    html {height:100%; margin-bottom: 1px}

    body {height: 100%; text-align: left;
    font: 76% Verdana, Arial, Helvetica, sans-serif;
    color: #006600;
    background: #99CBFF url(grafica/sfum.jpg) left top repeat-x}

    html>body #container {height: auto; height: 100%}


    div#container {position: relative;
    min-height: 100%; height: auto !important; height: 100%; width:818px; text-align:left;
    background: url(grafica/container_bg.jpg) left top repeat-y}

    div#header {width: 100%; height: 343px;
    background: url(grafica/header_bg.jpg) top left no-repeat}

    div#wrapper {float:left; width: 600px; margin-top:-100px}
    div#content {margin-left: 80px; margin-right: 20px}

    div#navigation {width: 600px ;
    float:left ; margin: -200px 0 0 -448px }
    ul, li {list-style-type:none}
    ul {padding: 3px 3px 0 3px}
    ul li {display: inline}
    ul a {padding: 2px; text-decoration:none; color: #666666}
    ul a:hover {background: #004BAA; color: #FFF}

    div#extra {width:150px;
    float:left ; margin-top: -80px }

    p.fine{clear: both ; height:40px}
    /*crea uno spazio prima del #footer per evitare la sovrapposizionedi questo al contenuto che lo precede*/

    div#footer {margin: 0 auto; width: 720px; height: 20px}
    position: absolute; bottom: 0; left: 49px;
    color: #FFFFFF; background: #CCCCCC url(grafica/footer_bg.jpg) center bottom no-repeat}



    E' stata dura ma sembra andata.

    Ciao

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.