2013-11-21 46 views
4

我有一個div「容器」,比如400px的寬度,裏面有一個左浮動的div - 「box」寬度爲100px。有六個「盒子」divs,所以他們的摘要寬度大於400px,這導致該div行被包裝,我得到兩行,每個4和2個元素。我怎樣才能讓這6個div分成一行,一行而不是兩行?如何使一行div在另一個div內的一行中流動?

+0

的[停止浮動,從包裝的div]可能重複(http://stackoverflow.com/小提琴問題/ 5616360/stop-floating-divs-from-wrapping) –

回答

6

您只需white-space: nowrapdisplay: inline-block對孩子的父元素。 Live demo here (click).

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

CSS:

.container { 
    width: 400px; 
    background: black; 
    white-space: nowrap; 
    overflow: scroll; 
} 

.container > div { 
    height: 50px; 
    width: 100px; 
    background: #555; 
    display: inline-block; 
    margin: 10px; 
} 
0

希望它會幫助你

display:inline-block; 
0

假設你繼續使用浮動:左; ...如果你的容器有一個400像素設置寬度,那麼你的孩子的div不能surprass 400像素的總和要麼寬。這包括任何填充,邊距或邊框空間。

要簡單地回答你的問題,有幾種方法?

  1. 使容器600像素寬,而不是400像素...
  2. 使孩子元素66px寬,而不是100px的...

一個更好的選擇是使用百分比...

  • 使孩子元素16.666667%寬。
0

您需要給display: inline-block給容器的孩子,也給white-space: nowrap讓他們水平流動。這裏是CSS

#Container { 
    width: 400px; 
    border: 1px solid black; 
    overflow-x: scroll; 
    overflow-y: hidden; 
    white-space: nowrap; 
} 

.inside { 
    width: 100px; 
    height: 300px; 
    border: 1px solid black; 
    display: inline-block; 
} 

和HTML

<div id="Container"> 
    <div class="inside"></div> 
    <div class="inside"></div> 
    <div class="inside"></div> 
    <div class="inside"></div> 
    <div class="inside"></div> 
    <div class="inside"></div> 
</div> 

這裏是你的問題http://jsfiddle.net/sgaurav/vZLWQ/

+0

不錯,偷了我的答案就像老闆= D – m59

+0

永遠不會那樣做。事實上,我們幾乎同時回答。大約兩天前我遇到了同樣的問題,所以「白色空間:nowrap」對我來說是新鮮的。這個小提琴幫了我大約2天時間回來http://jsfiddle.net/clairesuzy/FPBWr/。我修改它以匹配問題。 – Gaurav

+0

沒關係......但你可以看到你在我的相同解決方案後發佈了你的答案。這樣做有什麼好處? – m59