Подтвердить что ты не робот

Css - отображение изображений с горизонтальной полосой прокрутки

Я пытаюсь отобразить ряд изображений по горизонтали внутри div с фиксированной шириной. Я хотел бы использовать горизонтальную полосу прокрутки для отображения изображений, которые не помещаются внутри div.

Однако изображения отображаются вертикально, а не горизонтально. Есть ли способ заставить их отображать бок о бок?

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>  
4b9b3361

Ответ 1

Вам нужно будет отобразить элементы списка в строке или поместить их и дать ul очень большую ширину, чтобы избежать перемещения элементов на следующую строку:

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

Ответ 2

Правильный код для произвольного количества изображений, если вы не знаете ширину ul:

#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>

Ответ 3

Я бы пошел с

div#lasteventimg ul li {
  display: inline;
}

Чтобы элементы li не отображались как элементы блока.

Ответ 4

Ну, в первую очередь, вам нужно изменить свои стили от #event до #lasteventimg. Затем, если вы установите width для ul достаточно широким, чтобы разместить все изображения, вы должны увидеть поведение, которое вы пытаетесь получить:

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>    

Ответ 5

Вам нужно изменить свой список, чтобы элементы отображались горизонтально, а не по умолчанию.

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

Ответ 6

Почему бы вам не попробовать это?

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

li 
{
   display: block;
   float:left;
}