我想让主体有100%的浏览器高度。我可以用CSS来做吗?
我试着设置高度:100%,但它不起作用。
我想为页面设置一个背景色来填充整个浏览器窗口,但如果页面内容很少,我就会在底部得到一个丑陋的白色条。
我想让主体有100%的浏览器高度。我可以用CSS来做吗?
我试着设置高度:100%,但它不起作用。
我想为页面设置一个背景色来填充整个浏览器窗口,但如果页面内容很少,我就会在底部得到一个丑陋的白色条。
当前回答
尝试将html元素的高度设置为100%。
html,
body {
height: 100%;
}
主体通过其父(HTML)查看如何缩放动态属性,因此HTML元素也需要设置它的高度。
然而,body的内容可能需要动态更改。 将min-height设置为100%将实现这一目标。
html {
height: 100%;
}
body {
min-height: 100%;
}
其他回答
如果你想保持正文的边缘,不想要滚动条,使用下面的css:
html { height:100%; }
body { position:absolute; top:0; bottom:0; right:0; left:0; }
设置body {min-height:100%}将为您提供滚动条。
参见http://jsbin.com/aCaDahEK/2/edit?html,output上的演示。
除了将html和body元素的高度同时设置为100%,你还可以使用viewport-percentage length。
5.1.2. 视口百分比长度:“vw”,“vh”,“vmin”,“vmax”单位 viewport-percentage长度相对于初始包含块的大小。当初始包含块的高度或宽度发生变化时,它们将相应地缩放。
在这个例子中,你可以使用值100vh——这是视口的高度。
例子
body {
height: 100vh;
padding: 0;
}
body {
min-height: 100vh;
padding: 0;
}
这在大多数现代浏览器中都是支持的-可以在这里找到支持。
如果你有一个背景图像,那么你会想要设置这个:
html{
height: 100%;
}
body {
min-height: 100%;
}
这可以确保当内容比视口高时,body标签可以继续增长,并且当你开始向下滚动时,背景图像会继续重复/滚动/等等。
记住,如果你必须支持IE6,你需要找到一种楔子在高度:100%的身体,IE6对待高度像最小高度。
在这里:
html,body{
height:100%;
}
body{
margin:0;
padding:0
background:blue;
}
只需要一行CSS就可以完成。
body{ height: 100vh; }