Jquery Div以适应浏览器窗口大小
我想创建一个适合浏览器窗口的Jquery Div以适应浏览器窗口大小,jquery,css,html,cross-browser,Jquery,Css,Html,Cross Browser,我想创建一个适合浏览器窗口的div,但其下方有滚动时可见的内容 我不希望div被修复,但我希望它与浏览器窗口的大小相同,并且在重新调整大小时 我相信解决办法很简单,但我的脑子一片空白 下面是我想要的样子 您只需将高度设置为100% 但也要记住将html,body设置为100%以及您的div的所有家长 例如,如果您有: <body> <div id="wrapper"> <div id="height100"></div> </div>
div
,但其下方有滚动时可见的内容
我不希望div被修复,但我希望它与浏览器窗口的大小相同,并且在重新调整大小时
我相信解决办法很简单,但我的脑子一片空白
下面是我想要的样子
您只需将高度设置为100% 但也要记住将
html
,body
设置为100%
以及您的div的所有家长
例如,如果您有:
<body>
<div id="wrapper">
<div id="height100"></div>
</div>
<div id="content"></div>
<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;
}
- 导航
- 导航
- 导航
- 导航
内容
正文{页边距:0;}
.视口{
位置:绝对位置;
宽度:100%;
身高:100%;
背景:蓝色;
}
.belowviewport{
位置:绝对位置;
宽度:100%;
最高:100%;
高度:50px;
}
您可以使用简单的jQuery解决方案:
function calc() {
var $window = $(window),
$nav = $('nav'),
$content = $('#content');
$content.height($window.height() - $nav.height());
}
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;
}
PS:您实际上可以通过css定义内容div的最小高度
编辑:
如果您计划使用纯JavaScript,以下是一个解决方案:
function calc() {
var $window = $(window),
$nav = $('nav'),
$content = $('#content');
$content.height($window.height() - $nav.height());
}
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;
}
给你。我想这就是你想要的:
-我来回答你的问题。因为这不是新的要求。在询问之前,谷歌搜索一次。您的代码,您已经尝试过……“(…)但下面有滚动时可见的内容。”@silentw它将在下面有内容
html, body{
height : 100%;
width : 100%;
margin : 0
}
#content{
height : 100%;
width : 100%;
}