2012-05-01 173 views
2

我想創建一個類似於netflix上看到的列表的水平滾動條。這是HTML的基本設置:使用CSS滾動水平列表

這是我將用它來解釋我的努力的圖像: enter image description here

上設置了是我想要的:scrolling_list有一個設置寬度(我把它設置爲,比如300px)。然後,在這個div裏面我有一個列表滾動器,它將託管多個名爲outer_list的子項。上面的設置顯示了list_scroller的寬度是如何隨子項的數量而擴展的(1000,1300,1600或任何取決於子項的數量)。

不幸的是,我無法弄清楚如何用css做到這一點..現在,除非我指定list_scroller的寬度,否則它的寬度將不會擴展(它將假定第一個子元素的寬度) 。相反,list_scroller假設這個更短的寬度,然後兒童最終水平堆疊。

任何人都可以幫我解決這個問題嗎?這是當前的CSS:

.scrolling_list { 
    overflow:auto; 
    overflow-y:hidden; 
    position:relative; 
    width:360px; 
} 
.list_scroller { 
    position:relative; 
    display:block; 
    overflow-x:auto; 
    overflow-y:hidden; 
    padding:10px; 
    height:360px; 
} 
.list_scroller .outer_list { 
    width:260px; 
    display:inline-block; 
} 
+0

在http://jsfiddle.net/ – riso

+0

上放置一些示例如何使用鼠標滾動並且每行不被綁定到其他行。 – 2014-07-16 16:49:57

回答

4

你在正確的軌道上!我認爲不應該設置overflow: auto;overflow-y: hidden;,而應該將整個溢出設置爲隱藏狀態,並給list_scroller一個更大的寬度。像這樣的東西可能會奏效:

http://jsfiddle.net/mEg7g/1/

祝你好運,我希望這有助於。 :d

+0

感謝,這是偉大的 - 只需切換.scrolling_list溢出:汽車;使一切正常。非常感謝 – jay

+0

這個工作,它沒有爲我滾動。 – 2014-07-16 16:45:06

1

另外,不要忘了添加

-webkit-overflow-scrolling: touch; /* I guess iOS 5 only */ 

對於iOS設備的兼容性。

+0

這不是一個標準化的財產,所以[不](http://www.glazman.org/weblog/dotclear/index.php?post/2012/02/09/CALL-FOR-ACTION:-THE-OPEN- WEB-NEEDS-YOU-NOW)使用它。 – bfontaine

+0

@boudou在我的iOS設備上爲我工作,它使得溢出非常流暢,我真的很推薦它。默認情況下,這些設備不支持div滾動。 –

+1

@boudou編寫的東西[鏈接](http://www.glazman.org/weblog/dotclear/index.php?post/2012/02/09/CALL-FOR-ACTION:-THE-OPEN-WEB-NEEDS -YOU-NOW)[/ link]是相當不錯的,很好的工作,即使我這麼認爲,但有時候,爲了讓你的東西在大多數設備上工作,我們確實需要這些屬性,比如,這個溢出滾動屬性可以避免幾個kbs的javascript與CSS的成本或只是一個單一的css行,你會看到......,類似的東西,如-webkit-tap-highlight-color:rgba(0,0,0,0); - webkit-font-smoothing:subpixel-antialiased ;,需要在每個好網站上都有。 :) –