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

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

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


当前回答

请检查这个:

* {margin: 0; padding: 0;}    
html, body { width: 100%; height: 100%;}

或者尝试新的方法Viewport height:

html, body { width: 100vw; height: 100vh;}

视窗: 如果你使用视口意味着任何大小的屏幕内容都将达到屏幕的全高。

其他回答

除了将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元素的高度设置为100%。

html, 
body {
    height: 100%;
}

主体通过其父(HTML)查看如何缩放动态属性,因此HTML元素也需要设置它的高度。

然而,body的内容可能需要动态更改。 将min-height设置为100%将实现这一目标。

html {
  height: 100%;
}
body {
  min-height: 100%;
}
html, body
{
  height: 100%;
  margin: 0;
  padding: 0;
}

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

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

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

在这里:

html,body{
    height:100%;
}

body{
  margin:0;
  padding:0
  background:blue;
}