我想创建一个适合浏览器窗口的div
,但滚动时可以看到下面的内容。
我不希望修复div,但我希望它与浏览器窗口的大小相同,并且在重新调整大小时。
我确信解决方案非常简单,但我的思绪一片空白。
以下是我希望它的样子。
答案 0 :(得分:2)
您只需设置height: 100%
但请记住将html
,body
设置为100%
以及所有div的父母。
例如,如果你有:
<body>
<div id="wrapper">
<div id="height100"></div>
</div>
<div id="content"></div>
你的CSS应该是这样的:
html, body, #wrapper, #height100 {
height: 100%;
}
答案 1 :(得分:1)
<强> CHECK THIS DEMO 强>
<div class='viewport'>
<ul>
<li>Nav</li>
<li>Nav</li>
<li>Nav</li>
<li>Nav</li>
</ul>
<div class='belowviewport'>Content</div>
<div>
body { margin: 0;}
.viewport{
position:absolute;
width:100%;
height:100%;
background: blue;
}
.belowviewport {
position:absolute;
width:100%;
top:100%;
height: 50px;
}
答案 2 :(得分:0)
你走了。我认为这就是你所追求的:http://jsfiddle.net/NDrSm/
html, body {
height: 100%;
overflow: hidden;
}
div.container {
height: 100%;
overflow: auto;
background: red;
}
答案 3 :(得分:0)
html, body{
height : 100%;
width : 100%;
margin : 0
}
#content{
height : 100%;
width : 100%;
}
-1来自我的问题。因为这不是新要求。谷歌曾经问过。
答案 4 :(得分:-1)
您可以使用简单的jQuery解决方案:
function calc() {
var $window = $(window),
$nav = $('nav'),
$content = $('#content');
$content.height($window.height() - $nav.height());
}
PS:您实际上可以通过css为内容div定义最小高度。
如果您打算使用纯JavaScript,这是一个解决方案:
var w = window,
d = document,
e = d.documentElement,
g = d.getElementsByTagName('body')[0];
w.onload = calc();
w.onresize = calc();
function calc() {
var nav = d.getElementById('nav'),
content = d.getElementById('content');
content.style.height = (getWindowHeight() - nav.clientHeight) + 'px';
}
function getWindowHeight() {
return w.innerHeight|| e.clientHeight|| g.clientHeight;
}