|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | ||
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2057
|
layout sito , domandina :) top fisso e sticky footer
ciao,
stavo costruendo un layout per esercitarmi un pò con i css Le mie intenzioni erano quelle di creare un top che stesse fisso in testa alla pagina come su facebook , e per questo ho usato un position:fixed . Poi ho creato un contenitore con due div interni uno per il menu laterale e uno per il contenuto . Il footer l'ho messo fuori dal contenitore seguendo le guide per lo sticky footer e ho messo , sempre seguendo le varie guide , un div vuoto dentro in contenitore . Ora ho due problemini : 1- il contenitore mi va a combaciare con l'inizio della pagina e quindi mi porta le colonne "menu" e "contenuto" sotto il div "top" posizionato fixed . Come posso risolvere ? ho provato a mettere al contenitore margin-top:"altezza top" , ma cosi facendo mi compare la barra dello scroll e il footer scende nel proseguo della pagina ho provato a mettere un div vuoto in testa al contenitore con altezza quella della top , ma niente 2- non capisco il significato del div push vuoto con height 50px , e non capisco il margin-bottom : -50px del contenitore.. Cioè non ci vorrebbe un margin-bottom:50px per far spazio al footer ? perchè il valore negativo ? 3- al posto del push secondo questa guida http://css.html.it/guide/lezione/492...enere-i-float/ utilizzando il metodo SCoF non basterebbe mettere overflow:auto ? io ho provato ma non funziona, se metto tanto contenuto senza mettere il div push il contenuto va sopra il footer , e già questo non mi è chiaro dato che ho messo il footer con clear:both... ora vi metto il codice fatto da me :
come potete vedere sono alle prime armi e non ci sto capendo una mazza |
||
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2007
Messaggi: 4305
|
Potresti fare anche in questo modo: Esempio
html: Codice HTML:
<body> <div id="top"> <div id="topmenu">TITOLO SITO</div> </div> <div id="menu"> <ul>MENU</ul> <li>LINK 1</li> <li>LINK 2</li> <li>LINK 3</li> <li>LINK 4</li> <li>LINK 5</li> </div> <div id="contenuto"> <p>Il brano standard del Lorem Ipsum usato sin dal sedicesimo secolo è riprodotto qui di seguito per coloro che fossero interessati. Anche le sezioni 1.10.32 e 1.10.33 del "de Il brano standard del Lorem Ipsum usato sin dal sedicesimo secolo è riprodotto qui di seguito per coloro che fossero interessati. Anche le sezioni 1.10.32 e 1.10.33 del "deIl brano standard del Lorem Ipsum usato sin dal sedicesimo secolo è riprodotto qui di seguito per coloro che fossero interessati. Anche le sezioni 1.10.32 e 1.10.33 del "deIl brano standard del Lorem Ipsum usato sin dal sedicesimo secolo è riprodotto qui di seguito per coloro che fossero interessati. Anche le sezioni 1.10.32 e 1.10.33 del "deIl brano standard del Lorem Ipsum usato sin dal sedicesimo secolo è riprodotto qui di seguito per coloro che fossero interessati. Anche le sezioni 1.10.32 e 1.10.33 del "deIl brano standard del Lorem Ipsum usato sin dal sedicesimo secolo è riprodotto qui di seguito per coloro che fossero interessati. Anche le sezioni 1.10.32 e 1.10.33 del "deIl brano standard del Lorem Ipsum usato sin dal sedicesimo secolo è riprodotto qui di seguito per coloro che fossero interessati. Anche le sezioni 1.10.32 e 1.10.33 del "de</p> </div> <div id="footer">FOOTER SITO</div> </body> Codice HTML:
<style type="text/css"> body { margin: 0;} #top { background-color: #CF9; height: 65px; width: 100%; } #footer { position:fixed; bottom:0px; height:25px; width:100%; color: #999; background-color: #000; text-align: center; line-height: 25px; } #top #topmenu { color: #FFF; background-color: #F00; height: 30px; width: 60%; margin-right: auto; margin-left: auto; text-align: center; } #menu { width: 250px; color: #FFF; background-color: #F90; height: 500px; float: left; } #contenuto { width: 500px; height: 100%; background-color: #333; color: #F00; float: left; margin-top: 25px; margin-left: 55px; } </style>
__________________
Feedback Mercatino |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2057
|
io il footer lo voglio in fondo al layout , non fisso
e poi mi piaceva con il div container , perchè volevo centrare il layout in mezzo alla pagina . non ci sono soluzioni per fare come vorrei io ? un esempio di come vorrei far io è la top bar di facebook e il footer diciamo quello della mediaworld che se ci sono pochi elementi sta in fondo alla pagina se ce ne sono molti segue il testo EDIT: ho risolto il problema numero 1 mettendo al div contenuto e al div menu un padding-top 50px .. dite sia una soluzione accettabile ? il punto 2 e 3 mi restano oscuri Ultima modifica di aeroxr1 : 28-02-2012 alle 21:44. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2007
Messaggi: 4305
|
Penso di aver trovato un esempio che spiega quello che vuoi tu, footer fisso a fondo pagina se il contenuto e poco, e che lo segua se il contenuto aumenta.
Guida (in inglese) C'è da dire che ha scelto un argomento un po complesso per iniziare
__________________
Feedback Mercatino |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2057
|
Quote:
comunque http://boomshop.altervista.org/ mi è riuscito fare lo stickyfooter , però non capisco il senso del div push e del margine negativo.. ho un problemino , nel div top posizionato static non mi riesce disporre il menu come vorrei.. in pratica mi è riuscito centrarlo , volevo metterlo in basso nel div top , però se metto margin-bottom:0 non ottengo l'effetto desiderato .. come mai ? non capisco |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2007
Messaggi: 4305
|
Il div push viene utilizzato per dare la spinta al footer senza non si posizionerebbe sul fondo. Per quanto riguarda il problema del div del menu nel top prova ad assegnare al div topmenu:
Un altezza = height: 30px; Posizione = position: relative; I margini = margin-top: 45px; margin-right: auto; margin-left: auto; Vedi se funziona
__________________
Feedback Mercatino |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2057
|
Quote:
cioè tecnicamente il contenitore avendo margin-bottom:-50px; tira in su il footer sopra di esso per 50px in maniera che sia sempre in fondo al contenitore , poi per far in maniera che il contenuto non vada sopra il footer ci si mette questo push trasparente di altezza 50px con clear both in maniera che stia subito sotto gli elementi flaottati ? ho capito bene ? per la soluzione riportata da te per il div top , facendo cosi si sposta il div ,ma perchè non funziona con il margin-bottom 0 ? un altra cosa , al posto del padding del div menu e del div contenuto , per far si che non vengano nascosti dal top , aveva provato a mettere nel box contenitore un div trasparente di altezza 75px , però non funzionava :S non capisco dove sono gli errori |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:54.



















