2011-02-02 17 views
6

Tengo una plantilla html - div # contenedor dentro del cuerpo, y algunos divs absolutamente posicionados en contenedor sin altura fija. ¿Hay alguna forma de expandir el contenedor al 100% de altura de la página?¿Hay alguna manera de hacer que divs absolutamente posicionados expandan el contenedor?

Aquí es una imagen demostrating mi problema: http://habreffect.ru/files/4f3/54ad48420/q.png

entiendo, que divs posición absoluta son "invisibles" para el envase, pero desgracia, me dieron expandieron ventana del navegador. El problema es que no puedo hacer que el cuerpo se ajuste al 100% de la página, y si hago la altura: 100% del cuerpo (y html) se ajustará al 100% de la altura de la ventana (mi es aproximadamente 900px), pero no altura de la página

Por favor, disculpe si la pregunta es realmente estúpida.

Respuesta

4

Vas a tener problemas con el explorador (no recuerdo qué versiones), pero se puede establecer

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

para expandir un elemento absolutamente posicionado dentro de un contenedor cuyas dimensiones se han establecido (en el mismo o en una padre)

1

la única manera que puedo ver es a través de 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; 
} 

Este código se ampliará el tamaño de su cuerpo en tiempo de ejecución de modo que termina justo por debajo de usted r menor divs de posición absoluta

Cuestiones relacionadas