2012-06-22 11 views
5

Ci sono molte domande su SO relative a questo, ma quelle che ho scansionato sono tutte per situazioni specifiche dettagliate. Quello che voglio sapere è, a livello concettuale, cosa vuol dire:Cosa significa dare a div uno stile = 'altezza: 100%'?

<div style='height:100%'> 

Quanto è alto il 100%? 100% di cosa?

[EDIT]

Followup domanda: se il 100% rappresenta l'altezza del genitore, ma il genitore è <corpo> e non ha un'altezza diversa da l'altezza del div, allora cosa significa? Sembra definito in modo ricorsivo.

risposta

4

100% dell'altezza del contenitore principale.

Vedi qui: http://jsfiddle.net/6VRn6/

Se si desidera utilizzare questo metodo per rendere il div 100% dell'altezza della pagina, è necessario specificare l'altezza come 100% del corpo e HTML.

body, html { 
    height: 100%; 
} 

quando non si specifica un'altezza html o body, le loro altezze sono la somma delle altezze degli elementi in esso.

Updated demo mostrando questo. Abbiamo un div 200px con bordi 2px per un totale di 204px e quindi un div di stato 40px. L'altezza di body dovrebbe essere 244 pixel. Ora, se aggiungi il CSS sopra alla pagina, l'altezza sarà l'altezza del quadrante in basso a destra del jsfiddle. Prova ad aggiungerlo e rieseguire il codice. Quindi ridimensionare il riquadro dei risultati ed eseguirlo di nuovo per vedere di conseguenza il cambio di altezza.

5

100% di offsetParent. Nella maggior parte dei casi, questo è il documento. Può anche essere un elemento con position diverso da static o un componente di una tabella.

+0

Quanto è alto il documento, quindi, non è stato in diversamente specificato, e supponendo un gruppo di elementi casuali sono all'interno del div? Il 100% non significa niente? –

+0

Direi che sarebbe l'altezza della finestra quando la pagina verrà caricata, ma non lo saprei per certo. Io non uso questi CSS dubbiosi;) –

+0

@ScottStafford L'altezza di 'body' sarà l'altezza degli elementi in essa contenuti. Nel mio esempio (nella mia soluzione), ho una scatola con bordo 2px. '$ (" body "). height()' restituisce '204' (200px + 2px * 2 per alto/basso) – sachleen

1

L'altezza: 100% significa: Trasforma quel div grande come genitore!

0

significa solo il 100% del div o class o tag esso si trovi all'interno. Prova che ha un'idea un po 'questo:

{--parent loop { ..height 100% of above loop .. } }

Problemi correlati