【发布时间】:2013-08-18 19:44:56
【问题描述】:
我怎样才能实现,蓝色框填充 div 的剩余位置并在绿色框变大时动态降低他的高度?
http://jsfiddle.net/trek711/ncrqb/4/
HTML
<div id="wrap">
<div id="left"></div>
<div id="righttop">
<div id="click">Click!</div>
<div id="box"></div>
<div id="place"></div>
</div>
<div id="rightbot"></div>
</div>
CSS
#wrap {
padding: 5px;
width: 700px;
height: 500px;
background-color: yellow;
border: 1px solid black;
}
#left {
float: left;
margin: 0 5px 0 0;
width: 395px;
height: inherit;
background-color: red;
}
#righttop {
float: left;
padding: 5px;
width: 290px;
background-color: green;
}
#rightbot {
float: left;
margin: 5px 0 0 0;
width: 300px;
height: 60%;
background-color: blue;
}
#click {
width: 50px;
height: 50px;
background-color: red;
}
#box {
display: none;
width: 200px;
height: 100px;
background-color: white;
}
#place {
width: 100px;
height: 120px;
background-color: lightgrey;
}
JS
$("#click").on("click", function (e) {
$("#box").slideToggle("fast");
});
非常感谢!
【问题讨论】:
-
相关的你可能会觉得有用:Make a div fill the remaining screen space
-
您可以探索 flex-box 定义:css-tricks.com/snippets/css/a-guide-to-flexbox - 更具体地说是它的拉伸部分
-
你需要javascript。通过将容器的高度减去绿色框得到蓝色框的高度。然后onclick应该根据绿框的新大小更新蓝框的高度。