【发布时间】:2009-10-29 00:14:18
【问题描述】:
我正在用 CSS 创建一个复杂的布局,并且必须具备以下条件:
__________________________________________
| | |
| | filters |
| |___________________________________|
| | |
| | Toolbar |
| |___________________________________|
| nav | |
| | |
| | |
| | Content (scroll) |
| | |
| | |
|_____|___________________________________|
导航是静态的,所以它总是显示出来。内容区域本身是可滚动的。工具栏也始终存在。然而,过滤器部分应该是动态的,如果它丢失,那么工具栏/内容应该向上移动并占用过滤器曾经占用的空间。
内容区域为 position:absolute;带有溢出:自动,看起来很像谷歌阅读器。问题是我需要做正确的事:0;顶部:0;左:0;和 bottom:0 以使滚动正常工作。
知道如何实现一个不显示在工具栏/过滤器顶部的滚动内容区域,如果过滤器部分被删除,那么一切都会自动向上移动,而无需我指定额外的 CSS 来补偿?
干杯
编辑:好的,为了更容易,有人可以告诉我如何使用 CSS 实现 Google Reader 的布局,如果您在工具栏上引入新的工具,内容区域会自动向下移动导致工具栏高度调整?
【问题讨论】:
-
您基本上拥有 2 列布局。如果您让#Content 的大小填充剩余区域而不是绝对定位它,它应该可以解决这个问题。
-
整个页面上唯一可滚动的区域是内容区域,但应该是overflow:auto;。导航部分也是溢出:自动,因为它应该能够垂直滚动。你必须绝对定位它才能溢出:自动否则它不能滚动:/
标签: css