【发布时间】:2014-02-06 07:19:42
【问题描述】:
在过去的几个小时里,我一直在努力寻找一种方法来实现我想要的 web 应用程序布局。而且我的头很痛。
基本上我需要的是一个完整的窗口布局(全宽、全高、无滚动 - 永远)。应使用两个不同的水平框(您可以将它们视为行)覆盖 100% 的宽度和高度。
- 第一个框/行的高度可以是可变的(将其视为页面的标题)
- 下面的应该占据剩余空间,不会超过 100% 的窗口,因此不会显示滚动条。
现在更棘手的是,在第二个框/行中,我希望内容以内部垂直滚动显示。想象第二个框/行包含一个项目列表,如果项目很少,框/行的底部应该在内容之后立即停止。如果有很多项目,盒子/行应该向右扩展,直到达到窗口高度的 100%(基本上是 100% 的窗口 - 第一个盒子/行占据的高度)。其余内容应通过在第二个框/行内滚动可见。
我说的有道理吗?
关于代码,我不会复制/粘贴我拼凑起来的灾难性的东西,因为我宁愿从空白页开始。
这是我尝试过的:
<html>
<body>
<div id="wrapper">
<div class="box">Header</div>
<div class="box">Content <ul><li>...</li>(x1000)</ul></div>
</div>
</body>
</html>
我使用“盒子”类的原因是因为两个盒子/行在背景、边距、阴影等方面应该显示相同的外观。
html, body {
height: 100%;
}
#wrapper {
position: absolute;
height: 100%;
width: 100%;
left: 15px;
right: 15px;
top: 15px;
bottom: 15px;
}
对于其余部分,我刚刚尝试(但到目前为止失败)通过添加危险的 overflow: hidden; overflow-y: scroll; height: 100%; max-height: 100%; min-height: 100%; 等来操纵 .box 元素。
提前感谢您的帮助!
【问题讨论】:
-
您可以将代码添加到小提琴中吗?