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>