2012-03-19 93 views
0

容器基于溶液我有情况一样在下面的示例中(参见铬): http://jsfiddle.net/3fLP6/49/股利和CSS用于与固定/不固定的高度

存在与一些内容的div行和一分度可变含量应填补可用高度的其余部分。一切工作正常在Chrome/Firefox/Safari/Android/iOS中,但我无法找到解决方案的IE浏览器(我需要解决方案的IE7 +)有什么其他方式来实现这一点在IE浏览器?

+0

不可能通过CSS只 – Starx 2012-03-19 19:29:30

+0

嗯,有可能在Chrome和其他现代的浏览器,这就是为什么我认为这应该是某种形式的解决方案为IE – Irek 2012-03-19 19:46:58

+0

@Irek什么以前的经验会使你那愚蠢的想法? ;-) – Blazemonger 2012-03-19 20:01:56

回答

0

我假定你的意思是你希望页眉总是坐在上面,总是位于底部的一个页脚,而且充满可用空间的其余一个DIV;不管它的内容有多大或多少。我在我的答案的其余部分使用这些术语。

嗯,有我的知识三种方法在IE7 +做到这一点:

  1. 使用position: fixed CSS属性来定位页眉,页脚和身体。这意味着您必须将标题设置为0像素的顶部位置,并将页脚设置为0像素的底部位置。此外,您必须将主体div的顶部和底部属性分别设置为页眉和页脚的高度。因此,此方法要求您知道标题和页脚的确切高度。不幸的是,一些老的浏览器(例如IE6)不支持position: fixed,因此,如果对这些浏览器的支持是很重要的,你应该与其他选项一气呵成;
  2. 使用百分比指定所有div的高度的。显然,这很容易。但是,如果要为页眉和页脚设置特定的高度,那是不可能的;
  3. 也可以创建一个div宽度的100%的高度,其将充当身体div。最重要的是你使用position: absolute定位页眉和页脚div的(正因为如此,这也将努力在旧的浏览器)。然后,您添加到body元素另外两个要素:一个div顶部和一个div在底部。这些div必须分别与页眉和页脚高度相同,因为这两个元素将确保在必要时显示滚动条。当然,您需要在主体div上设置overflow: auto;
  4. 最后,还可以在调整窗口大小时使用JavaScript更改主体高度div。这种方法的一大缺点是JavaScript是必需的,因此这不是我的选择。

我希望我能帮上忙。如果我不清楚,请询问任何问题(足够)。