我有兩個div,'content-left'和'content-right'。內容左側div可以在高度上變化。內容權利div有一個不變的高度。使用一個div來限制另一個的大小
更新:左側內容不僅大小可能不同,而且大小可能因分鐘而異,具體取決於用戶的操作。
我希望有內容左側包含一個div滾動條。我不希望瀏覽器窗口本身具有滾動條。
我希望content-right div的內容始終可見。內容權利永遠不應該滾動頁面。
我想出了下面的代碼,但我認爲它可能會更好。
我在firefox和chrome中測試了這個。 Internet Explorer與我無關。
實質上,我只是「隱藏」左邊的div,確定右邊div的頂部和窗口大小之間的差異,並設置left-div的max-height屬性。滾動然後發生溢出:汽車
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript">
</script>
<script type="text/javascript">
$(document).ready(function() {
processLeftDiv();
});
$(window).resize(function() {
processLeftDiv();
});
function processLeftDiv() {
$('#content-left').hide();
windowHeight = $(window).height() ;
positionTop = $('#content-right').position().top ;
$('#content-left').css('max-height', (windowHeight - (positionTop + 20)));
// the 20 is padding
$('#content-left').show();
}
</script>
<title>Test</title>
<style type="text/css">
#header
{
width: 100%;
background: red;
}
#content-left
{
float: left;
margin-bottom: 5px;
width: 50%;
height: 100%;
max-height: 100%;
overflow: auto;
background: blue;
display:none;
}
#content-right
{
float: right;
width: 50%;
background: green;
}
</style>
</head>
<body>
<div id="header">
Header
<p>Header stuff</p>
</div>
<div id="body">
<div id="content-left">
Content left
<p>Blah Blah</p>
<p>Blah Blah</p>
<p>Blah Blah</p>
repeated 100 times
<p>Blah Blah</p>
<p>Blah Blah</p>
<p>Blah Blah</p>
<p>Blah Blah</p>
<p>Blah Blah</p>
</div><!--close left div-->
<div id="content-right">
Content
<p>Content stuff</p>
</div><!--close right div-->
</div><!--close body div-->
</body>
</html>
想法?
你有沒有嘗試溢出:滾動左邊的div? – 2012-08-05 18:43:04
Ulmar - 對不起,我更新了這篇文章。最初左邊的容器可能會打開一千條線,然後一秒鐘後可能會下降到兩條線。或者這可能會以相反的方式發生。左容器非常動態! – 2012-08-06 15:53:46