2014-01-16 6 views
8

私はdivをいくつか持っていて、左に浮いています。私はそれらが壊れないようにするため、私はそれらをdisplay:inline-blockwhite-space:nowrapに設定しました。残念ながら、何も起こりません。彼らはただ破滅を続けます。CSSの空白が無効になっています

最後にx方向にスクロールしたいのですが、overflow-x:scroll; overflow-y:visibleを追加すると、y方向にスクロールします。

.a { 
    width: 400px; 
    height: 300px; 
    white-space: nowrap; 
    display: inline-block; 
} 
.b { 
    float: left; 
    width: 50px; 
    height: 200px; 
    display: inline-block; 
} 

<div class="a"> 
    <div class="b"></div> 
    <div class="b"></div> 
    <div class="b"></div> 
    <div class="clearfix"></div> 
</div> 

あなたは

+0

/jsfiddle.net/88yjz/3/ - 例えばNicholas Gallagherの新しいマイクロクリアフィックスハックを使用している場合。 – Ruskin

+0

明確化。内側に収まるように.bブロックが多すぎる場合は、赤い.aブロックの下にスクロールバーを配置します。 – Ruskin

+0

@Ruskin:私は私のフィドルにクリアフィックスを持っていますが、助けにはなりませんでした。 –

答えて

8

私は完全にあなたの質問を理解しないかもしれないが、それはdivのように思える/振る舞うスクロールoverflow:auto;

+1

ありがとう!私は '.b'を' display:inline-block'に変更し、インラインブロックが壊れないという事実を考えませんでした。:) –

0

my complete implementation on JSFiddleはこれが何をしたいあなたを与えるん見ることができますか?オーバーフロースクロールを追加しました。 .bからfloat: left;をし、追加します:あなたが削除する場合

* { 
    margin: 0px; 
    padding: 0px; 
} 
html, body { 
    height: 100%; 
    background-color: #EEEEEE; 
} 
.a { 
    width: 400px; 
    height: 300px; 
    white-space: nowrap; 
    overflow:scroll;   /* Added this line*/ 
    background-color: lightcoral; 
    -webkit-box-sizing:border-box; 
} 
.b { 
    width: 50px; 
    height: 200px; 
    margin-top: 50px; 
    margin-left: 15px; 
    display: inline-block; 
    background-color: lightgreen; 
    -webkit-box-sizing:border-box; 
} 
.clearfix { 
    float: none; 
    clear: both; 
} 
2

.aしないように注意してくださいあなたが何を意味するかが、あなたが停止した場合あなたのBをfloading、そしてあなたのオーバーフローを与える:

参照自動車はそれが動作するはずです:あなたは、ラッパーのdivにclearfixを置く通常

+0

ありがとう、Craigheadは同じ修正をしました。私は、 'display:block;'から 'display:inline-block;'に '.b'を変更したときに、インラインブロックがラップしないという事実を考えませんでした。 –

関連する問題