2010-07-18 53 views
2

我有这样的设置:位置:显示器内绝对的:直列

<div class="item"> 
    <img src="..."/> 
    <span class="item-detail"></span> 
    <span class="item-detail"></span> 
    <!-- ... -->  
    <span class="item-detail"></span> 
</div> 
<div class="item"><!-- ... --></div> 
<div class="item"><!-- ... --></div> 
<!-- ... --> 
<div class="item"><!-- ... --></div> 

每个span的s的范围内绝对定位其div(其具有position:relative),铺img内,所以divimg的大小获得其大小。

我想显示尽可能多的div s,因为它们可以放在一条线上。我可以有div小号float:left,但我不喜欢这样,因为

  • div S'包含的元素不会得到他们所调整
  • 只打印1-2 div s到线当物理印刷

所以一个更好的主意似乎是在div s上使用display:inlineimg仍然排队正确,但是,现在,包含的span s的绝对定位现在已经搞乱了 - 它们似乎相对于它们的底部而不是顶部(至少,这就是发生了什么)在Firefox3.6上)。

发生了什么事?我怎样才能解决这个问题?

+1

对于你上面的#1,给包含的元素一个'overflow:auto',让它在浮动的大小时考虑浮动的div。 – 2010-07-18 12:21:55

回答

3

尝试使用display:inline-block,这会为您提供两个元素的特征。

+0

真棒,谢谢!现在我只需要弄清楚如何说服我的打印机,它可以适合三个'div's到一条线......但你回答了我的问题。 A + – rampion 2010-07-18 12:34:57

+0

@rampion:不客气,谢谢:) – Sarfraz 2010-07-18 12:43:39

0

怎么样加入另一个相对定位div 里面内联定位div。这样,跨度将根据相对值进行对齐。