2009-09-09 22 views
11

固定幅divの内側に多数の画像を水平に表示しようとしています。私はdiv内に収まらない画像を表示するために水平スクロールバーを使用したいと思います。css - 水平スクロールバーを使って画像を表示する

ただし、画像は水平ではなく垂直に表示されます。それらを強制的に並べて表示する方法はありますか?

div#event { 
width: 150px; 
overflow-x: scroll; 
overflow-y: hidden; 
} 

div#event ul { list-style: none; } 

div#event img { 
width: 100px; 
float: left; 
} 

<div id="lasteventimg"> 
<ul><li><img src="./gfx/gallery/image1.jpg" /></li> 
<li><img src="./gfx/gallery/image2.jpg" /></li> 
<li><img src="./gfx/gallery/image3.jpg" /></li> 
</ul> 
</div> 

答えて

8

あなたはインラインリストの項目を表示する必要がありますかそれらを浮遊し、ULに次の行に移動するアイテムを避けるために、非常に大きな幅を与える:

ul { 
    width: 10000px; // for example 
    white-space: nowrap; 
} 
li { 
    float: left: 
    // or 
    display: inline; 
} 
+0

はちょっと私は同じ問題を抱えているが、しかし、私はどんなlists- Iを使用していないだけで画像を水平divに追加しています(javascript経由で)float:left、overflow-x:scroll、 – Shark

1

私はli要素はブロック要素としてレンダリングされていないことを確認するには

div#lasteventimg ul li { 
    display: inline; 
} 

で行くと思います。

1

まず、スタイルを#eventから#lasteventimgに変更する必要があります。あなたがulwidthは、すべての画像を収容するのに十分な幅広に設定されている場合次に、あなたが取得しようとしている動作を確認する必要があります

div#lasteventimg { 
width: 150px; 
overflow-x: scroll; 
overflow-y: hidden; 
} 

div#lasteventimg ul { list-style: none; width: 300px; } 

div#lasteventimg img { 
width: 100px; 
float: left; 
} 

<div id="lasteventimg"> 
<ul><li><img src="./gfx/gallery/image1.jpg" /></li> 
<li><img src="./gfx/gallery/image2.jpg" /></li> 
<li><img src="./gfx/gallery/image3.jpg" /></li> 
</ul> 
</div>  
0

要素がデフォルト垂直ではなく、その後水平にレンダリングされているので、あなたは、あなたのリストを変更する必要があります。

#imagelist li 
{ 
display: inline; 
list-style-type: none; 
} 
0

どうすればよろしいですか?

ul 
{ 
    width: 10000px; 
    white-space: nowrap; 
} 

li 
{ 
    display: block; 
    float:left; 
} 
あなたは、UL幅がわからない場合
12

画像の任意の数のための正しいコード、:

#lasteventimg {width:150px;overflow-x:scroll;overflow-y:hidden;} 
ul {list-style:none; display:block;white-space:nowrap;} 
li {width: 100px;display:inline;} 


<div id="lasteventimg"> 
<ul> 
<li><img src="./gfx/gallery/image1.jpg" /></li> 
<li><img src="./gfx/gallery/image2.jpg" /></li> 
<li><img src="./gfx/gallery/image3.jpg" /></li> 
<li><img src="./gfx/gallery/image4.jpg" /></li> 
<li><img src="./gfx/gallery/image5.jpg" /></li> 
</ul> 
</div> 
+0

これは動作しますが、インライン要素が改行を検出すると、ブラウザはインライン要素の間に空白を挿入します。 CSSを介してブラウザ間で確実に削除する方法はありません。あなたは "Jesus Fish"ハック(

  • stuff
  • <[新しい行] li> stuff)を実行するか、タグ間の改行を取り除かなければなりません(
  • ) – mrbinky3000

    +1

    @ mrbinky3000:休憩もあります( '

  • ') – Eric

  • 関連する問題