4

更新

html 和 body 的边距需要为 0 才能完全填满页面。

结束更新 *更新*

我已经使用以下建议将 height 属性添加到 html 和 body 标签中。现在需要稍微向下滚动才能查看整个页面。关于为什么会发生这种情况的想法?

结束更新

我正在使用 CSS 使 div 根据需要填充屏幕。我将宽度和高度设置为 100%,但 div 没有填满屏幕的高度。这是 IE7 的一个已知问题还是我可能只是遗漏了什么?代码如下。

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
    <link rel="Stylesheet" href="test.css" />
</head>
<body>
<div id="divy"></div>
</body>
</html>

CSS

#divy
{
    width:100%;
    height:100%;
    background-color:Blue;
}
4

4 回答 4

6

问题是容器的高度必须为 100%,它的子元素才能假设为 100%...

在这种情况下,容器是<html>-><body>所以快速修复将是

html, body {
    margin: 0;
    padding: 0;
}
html, body, #divy {
    width:100%;
    height:100%;
}
于 2012-04-11T12:58:36.783 回答
3

元素填充body元素的高度,可以小于浏览器窗口。

html设置和元素的高度body,使它们填满窗口:

html, body { height: 100%; }
于 2012-04-11T12:57:53.887 回答
1

每当您定义一个 100% 的高度时,它的祖先或所有子序列的祖先也必须具有 100% 作为它们的高度。

所以,给 100% 高度,body以及html

html, body { height: 100%; }
于 2012-04-11T12:57:57.880 回答
0

您可以使用 jQuery 管理此问题:

jQuery('.yourDiv').height(jQuery('body').height());
于 2012-04-23T12:40:04.743 回答