也许只有 CSS 的解决方案,但这里是 jQuery 解决方案。菜单下方的内容将填充其余空间,没有滚动条。
HTML标记将是:
<div id="menu">SOMETHING IN MENU</div>
<div class="content">
<div class="part1"></div>
<div class="part2"></div>
<div class="part3"></div>
<div class="part4"></div>
</div>
CSS:
body,html{padding:0; margin:0;height:100%;width:100%;}
#menu {
position: fixed;
top: 0;
background: blue;
height: 50px;
width: 100%;
}
.part1 {
width:50%;
height: 50%;
float: left;
background: purple;
}
.part2 {
width:50%;
height: 50%;
float: left;
background: red;
}
.part3 {
width:50%;
height: 50%;
float: left;
background: green;
}
.part4 {
width:50%;
height: 50%;
float: left;
background: silver;
}
.content{
width: 100%;
position: relative;
}
jQuery :
var height = $(document).height();
var menu_height = $("#menu").height();
var content_height = height - menu_height;
$(".content").css("height", content_height);
$(".content").css("top", menu_height);
演示
最重要的部分是 jQuery。首先,我们需要获取文档(html)的高度,然后是菜单的高度。然后,我们从文档高度中减去菜单高度,结果就是内容高度。同样的结果我们将应用于内容的顶部位置,以避免重叠。