理想情况下只使用CSS我想要一个高度动态的可滚动div。动态高度可滚动div
布局的样机...
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
.page {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
.top{
height: 100px; background-color: Gray;
}
.middle {
height: 150px; background-color: Green;
}
.bottom {
overflow: auto;
}
</style>
</head>
<body>
<div class="page">
<div class="top">
top
</div>
<div class="middle">
second
</div>
<div class="bottom">
This one I want to be dynamic in height (stretch from here to the bottom of the window). <br />
And scroll if the content if its bigger than the height allowed in the window.
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
<p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p><p>a line</p>
</div>
</div>
</body>
</html>
.bottom是我想伸展到浏览器底部的DIV ...然后滚动,如果需要的话。
--UPDATE: 掀起了这一点的JavaScript,做了一个不错的工作......但想纯粹的CSS解决方案真的吗?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
SetScrollableDivHeight($(".bottom"));
});
$(window).resize(function() {
SetScrollableDivHeight($(".bottom"));
});
function SetScrollableDivHeight(div) {
var top = div.position().top;
var windowH = $(document).height();
var remaining = windowH - top;
div.height(remaining - 25);
}
</script>
*“所以我有类似的东西”*嗯,告诉我们你真的*有什么?真正的标记和CSS,最好用[JS小提琴演示](http://jsfiddle.net/)来说明。你也想'从这里开始调整到窗口的底部'?很好,但是你需要定义'here'**是什么或者什么地方。** – 2011-02-27 16:36:07
公平点David,尽管我从未见过或者用过JS小提琴。 我没有发布整个网页的原因是它并不真正成为我置身于公众视野的地方。 我的内容非常简单...基本上是在n高度的顶部,然后是我想要的div(如果使用css的位置)动态调整大小到窗口的底部并在需要时滚动。如果窗口的大小被调整了,那么div或者不滚动,但仍然延伸到窗口的底部。 – SteveCl 2011-02-27 17:14:49
创建演示页面以显示您...希望这可以让它更清晰? – SteveCl 2011-02-27 17:36:55