Yordi a écrit :
Effectivement, ce n'est peut-être pas une bonne idée de modifier cette class.
Un moyen serait par exemple de changer tes <div class="col"> par des <div class="col-2"> pour réduire la taille des columns et ensuite ajouter une margin sur la première column : <div class="row">
<div class="col-2 offset-3">texte 1</div>
<div class="col-2">texte 2</div>
<div class="col-2">texte 3</div>
</div>
Ce qui va dire que sur tes 12 columns de ta grid, les premiers 3/12ème seront vides, puis tes trois <div> prendront 2/12ème chacun, puis forcément les deniers 3/12 seront vides.
Si tu veux que cela soit responsive, je te conseille ce poste qui décrit tout ça
Cette solution fait exactement ce que je veux pour 2 colonnes mais pour 3, 4, 5 ou 6 (ça dépend des pages) ça marche pas en remplaçant le col-2 par col-3 etc...
Oui modifier la classe de base de bootstrap c'était pas terrible comme idée lol mais maintenant c'est trop tard car toutes mes pages sont faites sur le même modèle donc pas trop envie de toutes les modifier 1 par 1. (Note pour moi plus tard : pas touche aux classes de bases)
A la base mon problème était le suivant :
J'essaie de faire une liste en ligne, justifiée (prenant donc 100% de la largeur) et avec retour automatique après X éléments.
J'ai réussit à le faire avec un tableau mais ça me semble un peu lourd comme code :
<table style="width:100%">
<tr>
<td><a href="">texte 1</a></td>
<td><a href="">texte 2</a></td>
<td><a href="">texte 3</a></td>
<td><a href="">texte 4</a></td>
<td><a href="">texte 5</a></td>
<td><a href="">texte 6</a></td>
</tr>
<tr>
<td><a href="">texte 7</a></td>
<td><a href="">texte 8</a></td>
<td><a href="">texte 9</a></td>
<td><a href="">texte 10</a></td>
<td><a href="">texte 11</a></td>
<td><a href="">texte 12</a></td>
</tr>
</table>
J'ai essayé de bootstrap ce code :
<ul class="list-inline">
<li class="list-inline-item"><a href="">texte 1</a></li>
<li class="list-inline-item"><a href="">texte 2</a></li>
<li class="list-inline-item"><a href="">texte 3</a></li>
</ul>
Ce qui donne bien une liste en ligne mais pas justifiée et pour le retour à la ligne il faut que j'ajoute des <br /> ce qui n'est pas très propre
J'ai ensuite essayé :
<p style="display:flex;justify-content:space-between;">
<a href="">texte 1</a>
<a href="">texte 2</a>
<a href="">texte 3</a>
<a href="">texte 4</a>
<a href="">texte 5</a>
<a href="">texte 6</a>
</p>
Là c'est bien en ligne et justifié mais impossible de faire un retour à la ligne avec des <br /> par exemple.
Puis j'ai penser à ma solution présente dans le 1er post de ma demande, ce qui était parfait sauf que en fonction du nombre de colonnes il y a un espace à droite bien plus grand que celui de gauche et ça fait moche donc ça me plait pas xD
Modifié par Breat (30 Apr 2020 - 14:51)