2011-05-19 124 views
2

我有一個固定的容器,裏面是一個額外的容器,它根據用戶的選擇容納多個DIV。我需要這些額外的DIV水平排列並提供水平滾動(但不是垂直滾動)。
像這樣的:
[X] [X] [X]水平對齊div,沒有垂直堆疊,在IE7中

從本質上講,我的設置是這樣的:

<div id="container"> 
    <div id="second"> 
     <div class="final"><img src="..." /></div> //Repeat as needed from user 
    </div> 
</div> 

的CSS打破了這樣:

#container { 
    position: fixed; 
    top: 200px; 
    left: 0px; 
    height: 500px; 
    width: 100%; 
} 
#second { 
    height: 500px; 
} 
#final { 
    display: inline-block; 
    float: left; 
} 

此設置在Firefox中正常工作,但在IE7中繼續中斷。所有的 「#final」 的div的垂直堆疊:
[X]
[X]
[X]

關於如何解決此問題有什麼建議?這裏

+0

從你迄今爲止提供的內容來看,我不會期望在FX中像你想要的那樣工作。我認爲你需要使#final顯示:inline-block; – jcolebrand 2011-05-19 20:09:03

+0

對不起,我最初忘記了一些重要的信息。 Final顯示爲內嵌塊。 – 2011-05-19 20:20:21

+0

忘記顯示:內聯塊,你不需要和一個浮動。 – 2011-05-19 20:24:19

回答

4

幾個問題。一開始:

<div id="container"> 
    <div id="second"> 
     <div class="final"><img src="..." /></div> //Repeat as needed from user 
     <div style="clear:both"></div> 
    </div> 
</div> 

你應該有你的花車後,DIV保持不變,告訴你的瀏覽器不浮動任何後續元素(明確:兩者)。

而你有幾個「final」DIV,所以它們在CSS類中,而不是ID。

.final { 
    float: left; 
} 

這應該做到這一點!

編輯:這將解決您的HTML/CSS錯誤,至少。但我剛剛注意到你想讓文檔向右滾動。唯一的方法是將#container div的寬度設置爲比.final div的所有寬度的總和更寬。否則,您的瀏覽器將嘗試將所有內容「推倒」。

+0

您可能想要閱讀這篇文章。清楚:當它僅用於樣式時,它們都是一種語義元素。使用CSS將其應用爲:after元素,或者定義clear:同時在「second」 – jcolebrand 2011-05-19 20:29:07

+0

上使用該設置,我現在有兩列項目,但所有下列項目仍然堆疊在下面。 – 2011-05-19 20:31:29

+0

@Mike,我猜這是因爲它已經達到了瀏覽器窗口的寬度。如果你想強制它在屏幕右側滾動,那麼你需要一些JavaScript。 – 2011-05-19 20:38:47

1

試試這個......

<div id="container"> 
    <div id="second"> 
     <div class="final"><img src="..." /></div> 
     <div class="final"><img src="..." /></div> 
     <div class="final"><img src="..." /></div> 
     <div class="final"><img src="..." /></div> 
    </div> 
</div> 
<style> 
#container { 
    position: fixed; 
    top: 200px; 
    left: 0px; 
    height: 500px; 
    width: 100%; 
} 
#second { 
    height: 500px; 
} 
.final { 
    float: left; 
} 
+0

糟糕。我錯了。決賽是一堂課,不是身份證。我將編輯原始帖子。 – 2011-05-19 20:19:01

+0

嘗試使用display:inline for id「second」 – Max 2011-05-19 20:20:21

+0

不行。仍然獲得基本相同的效果。這是一個有點複雜的設置,這裏是完整的CSS [sheet](http://pastebin.com/bQaEh4Ep)這些項目 – 2011-05-19 20:24:45