我想让主体有100%的浏览器高度。我可以用CSS来做吗?

我试着设置高度:100%,但它不起作用。

我想为页面设置一个背景色来填充整个浏览器窗口,但如果页面内容很少,我就会在底部得到一个丑陋的白色条。


当前回答

我会用这个

html,身体{ 背景:#药剂; 最小高度:100%; 最小高度:100 vh; 溢出:汽车;// <-当你调整屏幕大小时,这是需要的 } < html > 身体< > < /身体> < / html >

浏览器将使用min-height: 100vh,如果浏览器有点旧,则min-height: 100%将作为备用。

溢出:auto是必要的,如果你想要身体和html扩大他们的高度当你调整屏幕的大小(例如移动大小)

其他回答

我会用这个

html,身体{ 背景:#药剂; 最小高度:100%; 最小高度:100 vh; 溢出:汽车;// <-当你调整屏幕大小时,这是需要的 } < html > 身体< > < /身体> < / html >

浏览器将使用min-height: 100vh,如果浏览器有点旧,则min-height: 100%将作为备用。

溢出:auto是必要的,如果你想要身体和html扩大他们的高度当你调整屏幕的大小(例如移动大小)

快速更新

html, body{
    min-height:100%;
    overflow:auto;
}

今天的CSS更好的解决方案

html, body{ 
  min-height: 100vh;
  overflow: auto;
}

如果需要,你也可以使用JS

var winHeight = window.innerHeight    || 
document.documentElement.clientHeight || 
document.body.clientHeight;

var pageHeight = $('body').height();
if (pageHeight < winHeight) {
    $('.main-content,').css('min-height',winHeight)
}

Try

<html style="width:100%; height:100%; margin: 0; padding: 0;">
<body style="overflow:hidden; width:100%; height:100%; margin:0; padding:0;">

除了将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;
}

这在大多数现代浏览器中都是支持的-可以在这里找到支持。