2012-05-16 27 views
0

好了,我有一个很简单的堆栈:垂直堆叠,中间部分一样高,可能

--------- 
| A | 
--------- 
| B | 
--------- 
| C | 
--------- 

两个AC已经已知的和固定的高度。然而,窗口高度(移动视口)是未知的。我试图让B尽可能高。我打算使用overflow-y: auto,所以溢出不是问题。实际问题是将其扩大到一个不知道(但可计算)的价值。

我已经通过计算$(window).height() - ($(A).height + $(C).height())解决了这个问题,但必须有更好的方法(或者jQuery插件)。

回答

2

确保容器具有非static定位,然后进行Bposition: absolute;和设置都topbottom A和C的高度,分别。

例如,如果A分别为20个像素高,C 40,你对B CSS会是这个样子:

#b { 
    bottom: 40px; /* Height of C */ 
    left: 0; 
    position: absolute; 
    right: 0; 
    top: 20px; /* Height of A */ 
} 
+0

这就要求包装为全高... –

+0

@barraponto:那是问题吗?全高一般是你如何让它占用最多的空间:) – Ryan

+0

像一个魅力的工作:) –