2012-06-14 8 views
6

Così ho un piè di pagina:Come attaccare div a fondo senza assoluto?

<div id="footer" > 
    <div style="padding:20px;"> 
     Footer 
    </div> 
</div> 

che è in involucro con stile:

#page { width:964px; margin:0 auto; } 

quindi ho bisogno che il div piè sarebbe attaccato alla parte inferiore del browser. Il problema è se l'aggiunta di:

position:absolute; 
bottom:0; 

Alcuni dei div precedente interseca con piè di pagina e anche ho bisogno di impostare altezza e larghezza per la mia auto.

demo

+0

avete la '# footer' all'interno del' # page' ma si desidera è alla base del tuo documento HTML, è così? – Zuul

+0

Sì, perché se fosse al di fuori della #pagina, ho bisogno di due volte per scrivere le stesse proprietà. Penso che non sia buono ... Ma potrebbe essere che io abbia torto ... – NoNameZ

+0

Non puoi fornire un link o pubblicare ulteriori informazioni sul codice HTML e su qualsiasi CSS pertinente, specialmente per la '# page' e il' div 'che interseca il' # footer'? – Zuul

risposta

-1

Usa:

#footer { 
    position: fixed; 
    bottom: 0; 
} 

Ecco un buon article per capire come position: funziona

+0

ma ora appare lo scroll se esistono più informazioni nel corpo ... Può essere nel primo post che ho descritto il problema non correttamente, perché ho bisogno se nel corpo non ci sono molti post, deve essere nella parte inferiore del browser, ma se ce n'è un po 'di più, questo deve essere alla fine, ma anche attenersi al browser (ho alcuni pixel tra div e browser line in default). – NoNameZ

+0

Questa non è affatto la soluzione giusta. Avrai bisogno di usare qualcosa chiamato "piè di pagina appiccicoso". Vedi qui per una buona soluzione: http://ryanfait.com/sticky-footer – Tom

+0

ha chiesto come collegare un elemento alla parte inferiore della finestra del browser e posizione: risolto fa esattamente questo. Se voleva un "footer sticky", come supponete, non è nella domanda. – Luca

1

This non è esattamente quello che chiedi, ma è un'implementazione simile ho fatto usando position: fixed .

Per quello che stai cercando di raggiungere dovrai usare position: absolute per farlo accadere. E quindi dovrai distribuire manualmente l'altezza dell'elemento per adattarlo correttamente. E quando hai contenuto all'interno dello footer, puoi utilizzare padding per perfezionare la forma.

Queste sono le uniche opzioni possibili. O vai per il posizionamento fixed o il posizionamento absolute.

6

Prova come questo ..

Il CSS

html, body { 
    height: 100%; 
} 
.wrapper { 
    min-height: 100%; 
    height: auto !important; 
    height: 100%; 
    margin: 0 auto -142px; /* the bottom margin is the negative value of the footer's height */ 
} 
.footer, .push { 
    height: 142px; /* .push must be the same height as .footer */ 
} 

Il codice HTML

<div class="wrapper"> 
    <p>wrapper text here</p>  
    <div class="push"></div> 
</div> 

<div class="footer"> 
    <p>footer text here.</p> 
</div> 
+0

Questo supporta l'altezza reattiva? Cosa succede se il contenuto ha un paragrafo lungo e si supponga di spingere automaticamente l'altezza del contenitore. – user2734550

+0

sì, supporterà anche l'altezza reattiva –

+0

Questa è l'unica tecnica che ha funzionato per me. L'unico lato negativo che riesco a vedere è dover specificare l'altezza del piè di pagina due volte, ma non è un grosso problema se si utilizza un generatore di css o un sistema di template. Vedi http://ryanfait.com/sticky-footer/ per maggiori informazioni. –

Problemi correlati