【发布时间】:2010-09-10 03:25:31
【问题描述】:
我正在使用这样的布局开发一个 3 列的网站:
<div id='left' style='left: 0; width: 150px; '> ... </div>
<div id='middle' style='left: 150px; right: 200px' > ... </div>
<div id='right' style='right: 0; width: 200px; '> ... </div>
但是,考虑到<DIV>'s 的默认 CSS 'position' 属性是'static',我的<DIV>'s 按预期显示在另一个下方。
所以我将 CSS 属性 'position' 设置为 'relative',并将 'middle' 和 'right' <DIV>'s 的 'top' 属性更改为 -(减去)前面 <DIV> 的高度。它工作得很好,但是这种方法给我带来了两个问题:
1) 即使 Internet Explorer 7 正确显示了三列,它仍然保持垂直滚动条,就好像 <DIV>'s 被定位在另一个之下一样,并且在内容结束后有很多空白区域。我想要那个。
2) 这些元素的高度是可变的,所以我真的不知道为每个<DIV> 的'top' 属性设置哪个值;而且我不想硬编码它。
所以我的问题是,实现此布局的最佳(简单 + 优雅)方式是什么?我想避免绝对定位,我也想保持我的设计无表格。
【问题讨论】: