7

我一生都无法找到一种方法来完成这项工作。

如果我有 3 个 div(一个左侧边栏、一个主体和一个页脚),我怎样才能让侧边栏和主体彼此相邻而不将它们的位置设置为“绝对”或浮动它们?执行这些选项中的任何一个都会导致页脚 div 不会被其中一个或另一个下推。

无论这些元素之前是什么(比如另一个标题 div 或其他东西),我怎么能做到这一点?

如果它有帮助,这里是我试图允许的两种情况的说明:

替代文字

这是我目前设置的 HTML 的简化版本:

<div id="sidebar"></div>
<div id="content"></div>
<div id="footer"></div>
4

3 回答 3

18

您需要指定页脚以清除浮动:

#footer{
 clear: both;
}

这迫使它在浮动元素下。

清除的其他选项是左和右。

于 2008-11-08T02:54:14.100 回答
1

执行这些选项中的任何一个都会导致页脚 div 不会被其中一个或另一个下推?

试试这个工具

于 2009-02-01T07:22:45.803 回答
0

现在,如果您不想浮动任何东西,也不想使用 position: absolute,那么您将非常绝望。

剩下的唯一选择是:

  • 对侧边栏和内容 div 使用 display:inline-block (目前并非所有浏览器都支持)
  • 等待css 高级布局模块或其他一些列模块(可能需要永远)
  • 回到使用表格
于 2009-01-12T16:46:50.897 回答