2015-04-02 74 views
0

我想创建结构这样的布局:麻烦与jQuery UI布局和jQuery UI选项卡

  • 北窗格
  • 中心窗格
    • 头DIV
    • 笔记本般标签面板
      • 至少有一个标签
    • 页脚DIV

头的div和页脚div有是始终可见, 的标签应采取一切剩余空间,如果需要,应该有 垂直滚动条。

这里是我做过什么:https://jsfiddle.net/mguijarr/y57v3nkf/

我在中间窗格中设置overflow:hidden,我试图设置 height: 100%标签面板上为它尽可能多的,因为它可以, 增长,但它在吃下面的空间(即所示的页脚div不是 )。

我该如何解决布局问题?

回答

1

页脚就在那里。问题是,只是你不能设置div#tabs具有高度:100%,这是因为外div有overflow:hidden

它将具有相同的高度,它的容器,但页脚是在同一水平div#tabs ,它将被隐藏,因为div.ui-layout-centeroverflow: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%高度,并且:

https://jsfiddle.net/y57v3nkf/3/

Porblems该解决方案:

  • 你所要做的计算。
  • 当加载页面 时,它会得到正确的高度,但如果页面调整大小,它将不会被修正。

提示:去百分比: 这些布局变得非常棘手,当你有固定大小的div和百分比div。去充分响应,你就必须重做所有的布局思维的百分比,例如:

|-------------100%-----------------| 
|---20%----|------------80%--------| 
|....|.....|.....|.................| 
+0

感谢您的帮助。解决方案2不是我所关注的,因为它在div.ui-layout-center中添加了一个垂直滚动条,这是我不想要的。所以,有解决方案1 ​​...但我想标签div填充当前高度的所有可用空间是否有办法做到这一点? – mguijarr 2015-04-02 16:17:03

+0

也许有一些jQuery的?见第三个选项。对于这些问题,我也遇到了很多困难:与百分比并排固定大小的div。最后,我总是重新构建所有div的布局。今天,我只是将一些带有网格系统的库包括在内,比如引导程序,它对我来说是个诀窍。看看它是否适合你。 – 2015-04-02 16:47:31