2014-01-07 37 views
0

我想要一組div在一行中對齊,超過頁面寬度並滾動水平。CSS:在頁面上展開一行寬

|---- page ----| 

[ ][ ][ ][ ][ ][ ][ ][ ] 
     <---->scroll 

我已經嘗試了不同的選項,如浮動離開,在線顯示等,但我所有的臨牀試驗中的東西,在第二行雲與頁面的寬度結束:

|---- page ----| 

[ ][ ][ ][ ][ ][ ] 
[ ][ ] 

這裏一個jsfiddle

CSS:

.container { 
    width: auto; 
} 
.foo { 
    background-color:red; 
    width: 20px; 
    height:20px; 
    margin: 2px; 
    float: left; 
} 

HTML:

<div class="container"> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
    <div class="foo"></div> 
</div> 

回答

3

這將做的工作適合你:

.container { 
    white-space: nowrap; 
} 
.foo { 
    display: inline-block; 
    background-color:red; 
    width: 20px; 
    height:20px; 
    margin: 2px; 
    zoom: 1;/for less than ie8 support 
    *display: inline;/for less than ie8 support 
} 

演示:http://jsfiddle.net/PexbZ/1/

+0

+1。但請注意,在IE <8中,「內聯塊」可能無法正常工作。 http://caniuse.com/inline-block – showdev

+1

@showdev我不認爲web開發人員應該支持IE8和更老的。微軟不再支持WinXP,Windows 7默認支持IE9並支持IE11。 – Epsil0neR

+0

夠公平 - 這是一個有爭議的辯論。我只是想提供與OP項目相關的信息。 – showdev