2013-05-20 12 views
10

Sto provando a usare la proprietà height usando le percentuali, ma non funziona. Voglio usare la percentuale in modo che appaia bene in qualsiasi risoluzione.Percentuale di altezza non funzionante nei CSS

<div id="bloque_1" style="height: 80%;background: red"> 
</div> 

Come posso farlo funzionare?

+3

percentuali altezza sono un po 'sciatta, ma se insistete, utilizzando percentuali saranno solo prendere la percentuale dell'altezza del contenitore. Prova ad aggiungere {min-height: 100%; } al tuo tag {body}. –

+0

min-height doest work = (., Ho usato invece, altezza: 100% – Flezcano

+0

Ora avremo un problema quando l'altezza del contenuto deve espandersi oltre il 100%. –

risposta

32

Quando si utilizza % per larghezza o altezza, la prima domanda che dovresti chiedere è che 80% di cosa? Quindi è necessario anche applicare altezza per l'elemento padre, quindi assumendo che tale elemento del tuo è all'interno del tag body, è necessario utilizzare questo nella vostra CSS

html, body { 
    height: 100%; 
} 

Così ora il vostro elemento div sarà 80% di 100%

Demo

laterale Nota: anche quando si tratta di absolute elementi posizionati, è possibile imbattersi in uno scenario in cui il vostro div non supererà l'altezza finestra corrente, quindi in questo caso è necessario hanno min-height

+0

Ho avuto un problema simile per un po ', Avevo impostato il corpo al 100%, ma non html, grazie! –

5

Tutto al di fuori di bloque_1 avrà bisogno di un'altezza così, o si otterrà l'80% pari a 0. Si può anche essere necessario applicare un'altezza di 100% al body.

Ecco uno jsfiddle che lo mostra in azione.

2

Applicare 100% altezza sul vostro elemento padre

HTML code-

<html> 
<body> 
<div id="bloque_1" style="height:80%;background:red;width:100%;"> 
</div> 
</body> 
</html> 

CSS Part-

html, body { height: 100%; width: 100%; margin: 0;background: #3c3c3c } 

lavoro Fiddle - http://jsfiddle.net/SEafD/1/

0

Demo

html,body{ 
    height:100% 
} 
#bloque_1{ 
    background:red; 
    height:80%; 
}