2010-05-10 26 views
6

Sto creando un sito web http://nebkat.com/beta/index.php e c'è uno sfondo grigio e uno sfondo bianco per il contenuto (vedi di persona). Il problema è che non posso impostare la parte bianca in altezza al 100%. Resta solo fino al titolo (benvenuto ...) e poi si ferma.CSS 100% altezza Div

risposta

8

Le altezze specificate in% non saranno rispettate dal browser (modifica: intendo dire che non funzioneranno nel modo previsto).

È necessario un div di compensazione all'interno del proprio div. <div id="container">. Qui è dove si dovrebbe collocarlo:

<div id="container"> 
    <div id="logo">...</div> 
    <div id="menu">...</div> 
    <div id="content">...</div> 
    <!-- HERE --> 
    <div style="clear: both;"></div> 
</div> 
+0

Esse - a meno che l'elemento genitore abbia un'altezza trattata come "automatica" (nel qual caso anche la percentuale viene considerata automatica). – Quentin

+0

Ciò significa che l'altezza del genitore deve essere specificata in * px *? Destra? –

+0

No. Qualsiasi unità. L'unica limitazione è che non può essere auto (e se è una percentuale quindi applica questo paragrafo al suo genitore (e così via, in modo ricorsivo)). – Quentin

0

Lo height: 100% in CSS non funziona come ci si aspetterebbe.

La mia soluzione sarebbe scrivere un semplice JavaScript che misuri l'altezza disponibile, quindi imposta l'altezza del div in modo appropriato.
Dovrebbe essere abbastanza semplice, ma se hai bisogno di aiuto, lo metterò insieme per te :)

+0

io so come fare questo, ma il problema è che io non voglio javascript per fare qualcosa css. Avere un vecchio browser potrebbe renderlo brutto: -/ – nebkat

+0

Non necessariamente. – Venemo

2

imposta l'altezza del tuo div di #container al 100% questo dovrebbe risolvere il problema (almeno sarà in Firefox 3.6).

Si consiglia di installare uno strumento come Firebug per firefox, è possibile utilizzarlo per "live" modificare le proprietà css sui siti Web. rende davvero facile capire problemi come questo.

1

dare altezza al 100% per contenitore div e che risolverebbe il tuo problema.

+0

Provato ma non ha funzionato. – nebkat

0

Bene, si utilizzerà min-height:100%; o min-height:500px.

Questo può risolvere la vostra soluzione.