我想让主体有100%的浏览器高度。我可以用CSS来做吗?
我试着设置高度:100%,但它不起作用。
我想为页面设置一个背景色来填充整个浏览器窗口,但如果页面内容很少,我就会在底部得到一个丑陋的白色条。
我想让主体有100%的浏览器高度。我可以用CSS来做吗?
我试着设置高度: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上的演示。
其他回答
关于底部的额外空间:你的页面是ASP ?网络应用程序?如果是这样,标记中可能几乎所有内容都被包装了。不要忘记设置表单的样式。添加溢出:隐藏;到窗体可能会删除底部的多余空间。
我会用这个
html,身体{ 背景:#药剂; 最小高度:100%; 最小高度:100 vh; 溢出:汽车;// <-当你调整屏幕大小时,这是需要的 } < html > 身体< > < /身体> < / html >
浏览器将使用min-height: 100vh,如果浏览器有点旧,则min-height: 100%将作为备用。
溢出:auto是必要的,如果你想要身体和html扩大他们的高度当你调整屏幕的大小(例如移动大小)
如果需要,你也可以使用JS
var winHeight = window.innerHeight ||
document.documentElement.clientHeight ||
document.body.clientHeight;
var pageHeight = $('body').height();
if (pageHeight < winHeight) {
$('.main-content,').css('min-height',winHeight)
}
对于真正的纯粹主义者来说,这种方法尊重浏览器的默认边距,并防止由其他方法产生的不需要的滚动,除了随着内容的增长而增长。在Chrome, Safari和Firefox中测试。背景只是做做样子……
html { 显示:flex; flex-direction:列; 高度:100%; 背景:红色; } 身体{ flex: 1; 背景:绿色; }
Try
<html style="width:100%; height:100%; margin: 0; padding: 0;">
<body style="overflow:hidden; width:100%; height:100%; margin:0; padding:0;">