这里有很多关于这个话题的讨论,但仍然无法得到我想要的。我有 2 个 div 块,我想并排放置。
最左侧包含树形菜单和背景颜色。我将宽度设置为自动并希望背景颜色垂直填充视口,而不管树菜单中有多少节点。
我希望右侧块的内容以 2px 的边距紧挨着左侧块,并具有自动高度和宽度来填充剩余空间并获得任何溢出的滚动条。
我发现让左侧块垂直填充视口的唯一方法是设置位置:绝对和顶部:0px,底部:0px。但是当我这样做时,我无法弄清楚如何定位右块,以便它填充剩余空间,因为左框随着树的扩展和折叠而扩展和收缩宽度。
有没有办法根据左框的当前宽度来设置右框的宽度?
基本上我有 2 个 div,这些 div 具有以下 css ......
.treeMenu {
position: absolute;
top: 0px;
bottom: 0px;
width: auto;
margin-right:2px;
padding: 10px;
background: rgba(218, 235, 245, 6);
}
.viewer {
position: relative;
float:right;
width: 100%;
//100% fills the view port width which is not what I want
//a fixed width is not what I want either as it will not adjust to the size of the tree menu.
//if I could set the width or left margin based on the position of the left block's right side I think I could get it to work.
height: 100%;
border: solid;
}
*感谢 Wesley 解决我的问题* 工作代码...
HTML:
<div class="wrapper">
<div class="treeMenu" >
</div>
<div class="viewer">
</div>
</div>
CSS:
body {
width: 100%;
margin: 0 auto;
font: 100% Arial, Arial, Helvetica, sans-serif;
}
.wrapper {
position: absolute;
width: 100%;
height: 100%;
}
.treeMenu {
position: absolute;
top: 0px;
bottom: 0px;
width: auto;
margin-right:20px;
padding: 10px;
background: rgba(218, 235, 245, 6);
}
.viewer {
position: relative;
float:right;
height: 100%;
border: solid;
overflow-x:scroll;
overflow-y:scroll;
}
jQuery:
$(document).ready(function() {
$("div.viewer").append("<img id='theImg' src='Images/FM-000-T01 TITLE INDEX QMC 1824 (1).jpg'/>");
$('div.viewer').width(($(document).width() - $('div.treeMenu').width())-28);
});
$(window).resize(function() {
$('div.viewer').width(($(document).width() - $('div.treeMenu').width())-28);
}).resize();