我正在尝试创建一个这样的结构:
标题div和页脚div必须始终可见, 选项卡应占用所有剩余空间并且应该具有 如果需要,可以使用垂直滚动条。
以下是我的所作所为:https://jsfiddle.net/mguijarr/y57v3nkf/
我在中心窗格上设置overflow:hidden
,我尝试设置
选项卡面板上的height: 100%
可以让它尽可能多地增长,
但它正在吃下面的空间(即页脚div不是
示出)。
我该怎么做才能修复布局?
答案 0 :(得分:1)
页脚在那里。问题是您无法将div#tabs
设置为高度: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%--------|
|....|.....|.....|.................|
答案 1 :(得分:0)
回答我自己的问题:事实上,contentSelector
选项
jQuery布局做到了这一点。
请参阅更新的小提琴:http://jsfiddle.net/mguijarr/288yaz15/1/