可変量の(フローティング?)divを含む単一行を作成する必要があります。コンテナーの寸法は固定されており、必要なときに水平スクロールバーを追加し、折り返さないようにする必要があります。
私は次のことを試しましたが、うまくいきません。代わりにラップします。
div#sub {
background-image:url("../gfx/CorniceSotto.png");
width:760px;
height:190px;
}
div#sub > div#ranking {
position:relative;
top:42px;
left:7px;
width:722px;
height:125px;
overflow-x:auto;
overflow-y:hidden;
}
div#sub > div#ranking > div.player {
float:left;
width:67px;
height:120px;
margin-left:5px;
background-color:#f3e1bb;
}
いくつかのこと(インライン、テーブルセルなど)を試しましたが、すべて失敗しました。
これはできますか?もしそうなら、どのように?
つかいます display: inline-block
の代わりにfloat
を指定し、コンテナにwhite-space: nowrap
。
div#sub > div#ranking {
position:relative;
top:42px;
left:7px;
width:722px;
height:125px;
overflow-x:auto;
overflow-y:hidden;
white-space: nowrap;
}
div#sub > div#ranking > div.player {
display: inline-block;
width:67px;
height:120px;
margin-left:5px;
background-color:#f3e1bb;
}
インラインは動作しません、テーブルセルは動作するはずです-同様の質問に答えて作ったこのjsFiddleを参照してください:
ただし、<= ie7では動作しません...
おっと、質問を読み違えました。前の回答は削除されました。
コンテナで、white-space: nowrap
そして、エレメントdisplay: inline-block
ここでフィドル: http://jsfiddle.net/HZzrk/1/
Edited:DanielBと私の元の答えを組み合わせました。 width
とsub
の両方にranking
の代わりにmin-width
を配置し、inline-block
を持つコンテナで要素をwhite-space: nowrap
に設定する必要があります。参照: http://jsfiddle.net/5wRXw/3/
Edit 2:目的のために、overflow
要素のranking
プロパティをまとめて削除する方がよい場合があります。 http://jsfiddle.net/5wRXw/4/ を参照してください
#sub {
backgrond-color: yellow;
min-width:760px;
height:190px;
}
#ranking {
position:relative;
top:42px;
left:7px;
min-width:722px;
height:125px;
overflow-x:auto; /* you may be able to eliminate this see fiddle above */
overflow-y:hidden; /* and eliminate this */
white-space: nowrap; /* like DanielB */
}
#ranking > .player {
display: inline-block; /* like DanielB */
width:67px;
height:120px;
margin-left:5px;
background-color:#f3e1bb;
}