2011-04-01 64 views
10

enter image description hereCSS相对+浮动

我有3 divs排队;中心div有许多position:absolute图像(它们重叠 - 一个图像一次可见;其余的图像为display:none;,用于jQuery交叉淡入淡出,这与germane无关)。

我将中心div更改为position:relative,以使其子图像成为position:absolute但是如果我将左侧,中间和右侧div设置为float:left,则不会按顺序显示:left,center,right div(左侧和右侧聚集在左侧)。

如果我在中心div上取出position: relative,它可以工作(但当然,图像不能完全位于父div之内)。

如何定位这些div使我能够将图像完全定位在中心内部?我是否也必须为左右分区设置相对值?

+1

+1图像:-) – janhartmann 2011-04-01 07:34:35

回答

5

您可以使用以下CSS为每列执行此操作。考虑到#div-left和#div-right必须出现在#div-center之前的HTML 中,否则它们将不在同一顶部位置。

#div-left { 
    float: left; 
    width: 100px; 
} 

#div-center { 
    margin: 0 100px; 
    position: relative; 
} 

#div-right { 
    float: right; 
    width: 100px; 
} 

基本上左边和右边的div浮动到每一边,具有固定的宽度。然后,中心div被分配一个左右边距,它等于每边悬浮的div的宽度。因为,由于边距,中心div适合浮游物,它看起来完全对齐。

位置:相对属性不需要布局(我刚刚添加它,因为您需要在此div内放置其他对象)。

如果你需要完整的布局有一个固定的宽度(比如说,你希望页面占用980px的宽度),只需创建一个具有这个宽度的div,并在其中包含三个div。

这里你可以看到在行动的例子:http://jsfiddle.net/7pBVX/

+0

您的解决方案非常有效。你能分解我的浮球和位置吗? – ash 2011-04-01 07:33:35

+0

我刚刚为CSS添加了一个简短的解释。如果有什么不完全清楚的,请说出来。 – salgiza 2011-04-01 07:49:21

+0

tbh在这里你必须计算正确的只是浮动所有的对象剩下,然后在html中的顺序? 但仍以“内容”为中心! – 2012-09-13 07:53:28