动态CSS布局帮助

时间:2010-11-25 18:20:13

标签: css layout

我正在尝试制作一个非常有弹性的CSS布局。我的意思是我有一个3列布局,页眉和页脚都在一个容器中居中。我选择在容器中制作它,因为我想让它适合图形。因此,容器允许我非常快速地改变分辨率。

在容器中,我使用float制作了一个3列布局,因为当你降低分辨率或浏览器窗口时我想要那个效果,其中center和right div重新排序到左侧。这样页面就会非常有弹性,浏览器,分辨率甚至是移动设备友好。

我做了我认为完美的布局,但有一个主要问题我不知道如何解决。

所以我左边的一个列(菜单)浮动,宽度设置为(以便将来的css按钮具有相同的大小)。然后我有主内容div,浮动也离开,最大宽度设置使浏览器浮动它在菜单旁边。如果没有宽度设置,它会在菜单div下浮动。最后我还有正确的列div,宽度设置并向左浮动。当我在内容div中有足够的文本时,这种布局是完美的。

但是当文本不够宽时,内容div会变小,并且基本上会破坏布局,因为一切都向左移动,并为容器的右侧留下了大量空间。

我希望可能有一些技巧可以让它更宽,而不需要将其设置为固定宽度,因为它会失去弹性效果,因为一旦浏览器到达内容div,就会出现一个水平滚动条,我不希望这样发生得这么快。

我尝试将其设置为百分比宽度但看起来很奇怪。

我的布局是托管here, on my school webserver,它是一个稍微旧版本,右侧div正好浮动,但正如我所描述的那样。

如果有一些css方式,请告诉我。感谢。

2 个答案:

答案 0 :(得分:1)

为什么中心内容需要浮动?如果你向左浮动左边的div,那么右边的div然后包含中心内容,它应该向下流动到它们的中间。您可能希望将整个事物放在容器div中以限制最大宽度。

答案 1 :(得分:0)

使用百分比

#left_menu{ width:15%; }
#content{ width:72.5%; }
#right_menu{ width:12.5%; }

更新

如果你想要左右固定,只有中心浮动,那么将左右div放在中心内。相对于中心位置,左侧和右侧绝对。

示例http://www.jsfiddle.net/gaby/mBuf9/