Je suis en train d'afficher un certain nombre d'images horizontalement à l'intérieur d'un div largeur fixe. Je souhaite utiliser une barre de défilement horizontale pour afficher les images qui ne correspondent pas à l'intérieur de la Div.
Cependant, les images affichent verticalement, plutôt que horizontalement. Existe-t-il un moyen de les forcer à s'afficher côté? P>
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>
6 Réponses :
J'irais avec pour vous assurer que les éléments li code> ne sont pas rendus comme éléments de blocs. p> p>
Eh bien d'abord, vous devez modifier vos styles de #Event code> à #lasteventimg code>. Ensuite, si vous définissez la largeur code> du ul code> pour être suffisamment large pour accueillir toutes les images, vous devez voir le comportement que vous essayez d'obtenir: 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>
Vous devrez afficher les éléments de la liste en ligne ou les flotter et donner à l'UL une très grande largeur pour éviter les éléments se déplaçant à la ligne suivante:
ul {
width: 10000px; // for example
white-space: nowrap;
}
li {
float: left:
// or
display: inline;
}
Hey, j'ai le même problème, mais je n'utilise aucune liste - j'ai juste des images à ajouter à une Div horizontale (via JavaScript), j'utilise Float: gauche et Overflow-x: Faites défiler,
Vous devez modifier votre liste, de sorte que les éléments sont rendus horizontalement plutôt que la verticale par défaut.
#imagelist li
{
display: inline;
list-style-type: none;
}
Pourquoi n'essayez-vous pas cela?
Code correct pour le nombre arbitraire d'images, si vous ne connaissez pas la largeur 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>
Bien que cela fonctionne, chaque fois que des éléments en ligne rencontrent une nouvelle ligne, le navigateur insère l'espace blanc entre les éléments en ligne. Il n'y a aucun moyen de vous en débarrasser de manière fiable sur les navigateurs. Vous devrez soit faire le piratage "Jésus Fish" (
@ mrkinky3000: coller des commentaires entre les lignes pour garder les pauses de ligne fonctionne aussi ( li>