我制作了一个弹出式div,它看起来像我网页上的经典窗口,可以最小化/调整大小/移动。
我需要它有一个25 px高的标题,一个50px高的页脚然后窗口的主体总是采用“休息”,这是可变的,因为窗口可以调整大小。这个窗口的主体动态更新DOM,可以添加元素。如果添加了足够多的元素,它们的组合高度超过了分配给窗口主体的高度,那么这个主体区域应该开始滚动,当用户滚动页脚时总是保持原位 - 它只是滚动的主体内容。 / p>
如何使用CSS,jQuery实现这一点,并且它适用于IE8?
代码看起来应该是这样的,基本上是:
<div id="wrap">
<div id="header">
... 25 px high space fixed to the top
</div>
<div id="body">
... stretches to fill the space available height/width ...
... scrollbars available when the body content exceeds height available ...
... jQuery allows user to resize the whole window, so this body should always fill ...
</div>
<div id="footer">
... 50px footer with controls, must always be fixed to bottom of window ...
... must never move no matter if the user scrolls the body ...
</div>
</div>
这可以完成,以便跨浏览器工作吗? IE8 +,Firefox,Chrome?
答案 0 :(得分:3)
在此尝试演示http://jsfiddle.net/XfPAG/4/。这个想法是使用绝对位置:
HTML
<div id="wrap">
<div id="header">
... 25 px high space fixed to the top
</div>
<div id="body">
... stretches to fill the space available height/width ...
... scrollbars available when the body content exceeds height available ...
... jQuery allows user to resize the whole window, so this body should always fill ...
</div>
<div id="footer">
... 50px footer with controls, must always be fixed to bottom of window ...
... must never move no matter if the user scrolls the body ...
</div>
</div>
CSS:
#wrap, #header, #body, #footer {
position: absolute;
left: 0;
right: 0;
}
#wrap {
top: 0;
bottom: 0;
}
#header {
height: 25px;
top: 0;
}
#footer {
height: 50px;
bottom: 0;
}
#body {
top: 25px;
bottom: 50px;
overflow: auto;
}