⊗mkSpFxFTP 100 of 128 menu

Problèmes de mise en mosaïque avec les flexbox en CSS

Le premier problème de la mise en mosaïque est en réalité assez évident - il est très peu pratique que le parent doive définir explicitement la hauteur. Après tout, il est tout à fait possible que le nombre de blocs change dynamiquement et que leur nombre soit tantôt inférieur, tantôt supérieur à 9.

Et le deuxième problème surviendra si le nombre de blocs est tel que la dernière rangée aura un nombre insuffisant de blocs. Dans ce cas, la dernière rangée sera affreuse :

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> </div> .parent { display: flex; flex-direction: row; justify-content: space-between; flex-wrap: wrap; width: 320px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

Il s'avère que même horizontalement, la valeur space-between fonctionne mal dans notre cas.

Pour résumer : si le nombre de vos éléments enfants est toujours constant et tient correctement dans le parent, alors la mise en mosaïque avec space-between est une chose assez pratique. Dans le cas contraire, il faudra trouver autre chose.

Étant donné 12 éléments. Créez une mise en mosaïque de 4 éléments par rangée avec une largeur de chaque élément de 100px et un espace entre eux de 20px.

Étant donné 12 éléments. Créez une mise en mosaïque de 3 éléments par rangée avec une largeur de chaque élément de 150px et un espace entre eux de 10px.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser