2011-02-02 14 views
6

Ho modello html - contenitore div # all'interno del corpo e alcuni div in posizione assoluta nel contenitore senza altezza fissa. C'è un modo per espandere il contenitore al 100% dell'altezza della pagina?C'è un modo per fare in modo che i div posizionati in modo assoluto espandano il contenitore?

Ecco un'immagine demostrating il mio problema: http://habreffect.ru/files/4f3/54ad48420/q.png

ho capito, che div posizionati in modo assoluto sono "invisibili" per il contenitore, ma purtroppo ho avuto finestra del browser ampliato. Il problema è che non posso fare in modo che il corpo si adatti al 100% della pagina, e se creo l'altezza: 100% di body (e html) si adatterà al 100% dell'altezza della finestra (il mio è di circa 900px), ma non a altezza della pagina.

Plz mi dispiace se la domanda è davvero stupida.

risposta

4

Avrai problemi con Explorer (non ricordo quale le versioni), ma è possibile impostare

left:0; 
right:0; 
top:0; 
bottom:0; 

per espandere un elemento posizionato in modo assoluto all'interno di un contenitore le cui dimensioni sono stati impostati (in esso o in un genitore)

1

l'unico modo che posso vedere è attraverso JavaScript

// returns the coordinates of top/left corner of an element 
function getPosition(obj) 
{ 
    var left = 0; 
    var top = 0; 
    if (obj.offsetParent) 
    { 
     do 
     { 
     left += obj.offsetLeft; 
    top += obj.offsetTop; 
    } 
    while (obj = obj.offsetParent); 
} 
return {x:left, y:top}; 
} 

document.onload = function() 
{ 
    var div = document.getElementById('yourLowestPositionnedDiv'); 
    var divBottom = getPosition(div).y + div.offsetHeight; // y coordinate of the bottom/left corner 
    document.body.style.height = divBottom - getPosition(document.body).y; 
} 

Questo codice espandere le dimensioni del vostro corpo in fase di esecuzione in modo che termini proprio sotto di voi r valore più basso assoluto div.

Problemi correlati