【发布时间】:2015-05-20 10:07:56
【问题描述】:
这听起来很有趣,但我很难找到一个优雅的解决方案来创建特定的布局,并希望在这里找到其他用户的一些提示。
我想创建这个布局:
这些是要求:
整个组件有一定的宽度。具有 a 和 b 的组件具有一定的宽度,例如200 像素。 c 获取其宽度的剩余空间。 c 定义了一个特定的高度。 a 和 b 一起应该具有与 c 相同的高度。 a 有一定的高度,但它是未知的。它最终被计算并且不能用于计算,因为它可以改变。但是在渲染之后它有一定的高度。 b 应使用剩余空间作为其高度,例如c的高度-a的高度。最后 b 可以大于可用空间,所以它应该使用 scrolling-y 功能。如果组件变得大于可用高度,您应该会看到一个滚动条。
我尝试了不同的方法,例如浮动,桌子,但总是强迫我为 b 设置一定的高度。
如果有人可以就适当的解决方案提供建议,我会很高兴。
编辑:
我对表格的处理方法:http://jsfiddle.net/f7c6dzfL/
.test {
border: 1px solid red;
height: 400px;
display: table;
width: 100%;
}
.test .left {
display: table-cell;
border: 1px solid red;
width: 50%;
}
.test .left .top {
border: 1px solid blue;
width: 100%;
height: 100px;
}
.test .left .bottom {
border: 1px solid blue;
width: 100%;
max-height: 100%;
overflow-y: scroll;
}
.test .right {
display: table-cell;
width: 50%;
}
<div class="test">
<div class="left">
<div class="top"></div>
<div class="bottom">
<ul>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
<li>asd</li>
</ul>
</div>
</div>
<div class="right"></div>
</div>
【问题讨论】:
-
请显示您尝试过的代码。您可以将其添加到 JSFiddle,以便我们查看您的问题。
-
@jsve 我添加了一个示例
标签: html css layout web-deployment