2012-04-11 43 views
4

UPDATE高度:在IE7

保证金100%的HTML,需要身体为0到完全填充页面。

结束时更新 * UPDATE *

我一直在使用新加的高度属性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; 
} 
+0

回复您的编辑:有你我补充了雷蒙的答案? (也就是说,将身体的边距和填充设置为0) – 2012-04-11 13:54:42

+0

@MrLister这是修复。乍看之下,我没有注意到保证金的增加,但现在全是黄金。 – steventnorris 2012-04-11 14:08:23

回答

6

的问题是,容器必须有100%的高度,它的子元素来承担100%......

在这种情况下,容器是<html> - ><body>所以速战速决是

html, body { 
    margin: 0; 
    padding: 0; 
} 
html, body, #divy { 
    width:100%; 
    height:100%; 
} 
+0

有趣的技术! – 2013-05-23 15:18:28

3

元件填充体元件,其可以是比浏览器窗口小的高度。

设置htmlbody元素的高度,让他们填写窗口:

html, body { height: 100%; } 
+0

我已经添加了上面的代码。我没有考虑到父元素不是100%。非常感谢。 – steventnorris 2012-04-11 13:49:30

1

每当你要定义一个100%的高度,它的祖先或全部subsequest祖先,必须有100%的身高也是如此。

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

html, body { height: 100%; } 
0

您可以使用jQuery管理这个问题:

jQuery('.yourDiv').height(jQuery('body').height());