我将尽我所能地解释这一点;)基本上,我有一个浮动到左侧并具有固定位置的侧边栏<div id="sidebar"></div>
。我计划在它之后有另一个div,它将包含内容,但问题是,因为侧边栏有固定的位置,我期望在它后面的div (在右边)出现在侧边栏后面。这是一个问题,因为我需要使用margin-left: 310px
(310px是侧边栏的宽度)来使另一个div出现在侧边栏之后,所以不是在没有侧边栏的310px的情况下占用页面的100%宽度,而是占据整个页面并导致对齐问题。
这很难解释,但是如果你访问我的页面http://freshbeer.lv/development/en/,你可以看到白色的div,里面有margin-left: 310px;
和width: 100%;
,还有一个灰色的div,里面有width:700px;
和margin: 0 auto;
。我希望灰色的div会在背景的两张图片中间对齐,但由于白色的div占用了比所需更多的空间,所以这种情况并没有发生。有人能给我一个解决方案吗?
发布于 2012-01-31 02:36:31
也许我误解了您的问题,但在#container
中,您可以删除width: 100%
或将其更改为width: auto
。
问题是,它获取的是父容器的宽度(如果返回得足够远,就是获取浏览器窗口的宽度),然后添加边距。所以它是100% + 310px。这就是它比浏览器窗口宽310px的原因。
发布于 2012-01-31 02:40:22
尝尝这个。首先,确保您的侧边栏是脚本中的第一个。然后,不要设置主要部分的宽度。相反,只需说display:block
即可。所以就像这样:
<html>
<body>
<div style="width:310px; float:left; background:#dddddd; height:500px;"></div>
<div style="margin-left:310px; display:block; background:#ff0000; height:500px;"></div>
</body>
</html>
在上面的例子中,顶部的div是你的侧边栏,第二个是你的主体部分。我只是增加了高度,这样我就可以在测试期间看到列。
https://stackoverflow.com/questions/9068866
复制相似问题