Salut,
J'ai une liste d’images que je voudrais répartir sur plusieurs lignes, pour remplir la ligne sur toute la largeur de mon template.
Mon CMS me donne ça comme code :
Ma CSS :
Avant j'avais un float:left sur les vignettes, les éléments s'affichaient les uns après les autres jusqu'à remplir une ligne, mais l'espace n'était pas distribué de façon équitable.
J'ai donc tenté avec flex, mais je dois avouer ne pas encore maîtriser le truc.
Merci de votre aide;
Modifié par myself (20 Jun 2016 - 21:46)
J'ai une liste d’images que je voudrais répartir sur plusieurs lignes, pour remplir la ligne sur toute la largeur de mon template.
Mon CMS me donne ça comme code :
<div class="item-list">
<ul> <li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.png" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.png" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
<li class="">
<div> <span class="resp vignette"><img typeof="foaf:Image" src="http://www.domaine.fr/image.jpg" width="325" height="260" /></span> </div></li>
</ul>
</div>
Ma CSS :
.item-list li {
/* On crée d'abord un context flex */
display: flex;
/* Puis on définit la direction du flux et le wrap
* Rappelez-vous que c'est la même chose que :
* flex-direction: row;
* flex-wrap: wrap;
*/
flex-flow: row wrap;
/* Puis on définit la façon dont se répartit l'espace restant */
justify-content: space-around;
padding-bottom: 20px;
}
.resp img {
max-width: 100%; /* pour limiter la taille à la largeur du parent */
height: auto; /* pour conserver le ratio, même si un attribut height est précisé dans le code HTML */
box-sizing: border-box; /* pour limiter à 100% de la largeur, même si des paddings ou bordures sont appliquées à l’élément */
}
Avant j'avais un float:left sur les vignettes, les éléments s'affichaient les uns après les autres jusqu'à remplir une ligne, mais l'espace n'était pas distribué de façon équitable.
J'ai donc tenté avec flex, mais je dois avouer ne pas encore maîtriser le truc.
Merci de votre aide;
Modifié par myself (20 Jun 2016 - 21:46)