有没有办法让绝对定位的div扩展容器?

时间:2011-02-02 08:36:26

标签: html css

我有html模板 - div#container in body,以及一些绝对定位的div在容器中没有固定高度。有没有办法将容器扩展到页面的100%高度?

这是一张代表我的问题的图片:http://habreffect.ru/files/4f3/54ad48420/q.png

据我所知,绝对定位的div对容器来说是“看不见的”,但不幸的是我扩展了浏览器窗口。问题是,我不能使身体适合100%的页面,如果我做高度:100%的身体(和html)它将适合100%的窗口高度(我的约900px),但不是页面高度。

抱歉,如果问题真的很愚蠢。

2 个答案:

答案 0 :(得分:4)

您将遇到资源管理器的问题(无法记住哪些版本),但您可以设置

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

在已设置尺寸(在其中或在父级中)的容器中展开绝对定位的元素

答案 1 :(得分:1)

我能看到的唯一方法是通过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;
}

此代码将在运行时扩展您的身体大小,使其在最低绝对位置div之下结束。