页脚在那里。问题只是你不能设置div#tabs
with height: 100%,因为外部 div 有overflow:hidden
它将与其容器具有相同的高度,但由于页脚与 相同div#tabs
,因此它将被隐藏,因为div.ui-layout-center
具有overflow:hidden
。
第一个解决方案:将高度更改div#tabs
为较低的百分比:
<div style="margin-bottom: 10px; height: 100px; background: #ffff00;"></div>
<div id="tabs" style="height: 40%; overflow: auto">
content
</div>
<div style="background: #ff0000; height: 100px; ">footer</div>
https://jsfiddle.net/y57v3nkf/1/
方案二,将外层div的溢出选项改为自动:
https ://jsfiddle.net/y57v3nkf/2/
第三种解决方案(Jquery Brute force):将外部 div 设置为 100% 高度,并且:
$(document).ready(function(){
var outerDivHeight = $('div.ui-layout-center').height();
var tabDivHeight = outerDivHeight - 100 - 100 -10;
$('#tabs').height(tabDivHeight);
});
https://jsfiddle.net/y57v3nkf/3/
此解决方案的问题:
- 你必须进行计算。
- 页面加载时它会获得正确的高度,但如果页面调整大小则不会。
提示:使用百分比:当您有固定大小的 div 和百分比 div 时,这些布局会变得非常棘手。要完全响应,您必须以百分比重做所有布局思考,例如:
|-------------100%-----------------|
|---20%----|------------80%--------|
|....|.....|.....|.................|