我正在创建一个全角网站,其中有一个标题,一个左侧边栏,其余是主要内容。
它看起来应该像这样:

+--------------------------------+
|  header                        |
+---------+----------------------+
|         | div1                 |
| sidebar | div2                 |
|         |                      |
|         |                      |


HTML和CSS看起来像这样(但有更多元素):http://jsfiddle.net/7QJC5/

如您所见,如果我将侧边栏设置为float: left,则清除的div1会拉伸到全高。
我通过手动定位边栏找到了一种解决方法:

position: absolute;
top: 60px;
bottom: 0;
left: 0;


但我不确定这是最好的解决方案。

任何人都可以解释这是为什么以及如何解决它,或者position: absolute方法可以吗?

最佳答案

对于您的两个问题:


您可以将overflow:hidden;添加到#content。所以你的clearfix规则
在孩子身上只会应用在#content内,不会介意
不再是浮动的侧边栏:DEMO

使它简单,触发布局。搜索处理
浮动元素。有很多方法取决于您看的结果
为。
对于滚动条,交换到另一个框模型以将填充包含到100%中;高度,将box-sizing:border-box添加到#mainDEMO

09-27 10:14