⊗mkSpFxFT 99 of 128 menu

Mise en page de tuiles avec les flexbox en CSS

Apprenons maintenant à créer une mise en page de tuiles avec les flexbox. Pour commencer, disposons les blocs flex sur plusieurs rangées, avec trois blocs par rangée.

Pour cela, donnons au conteneur parent une largeur de 300px et flex-wrap avec la valeur wrap, et une largeur de 100px aux éléments enfants :

<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 class="child">9</div> </div> .parent { display: flex; flex-wrap: wrap; width: 300px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

Maintenant, créons un espace entre nos blocs horizontalement. Pour cela, augmentons la largeur du parent pour donner de l'espace supplémentaire pour les marges.

Puisque nous avons trois blocs par rangée, cela signifie qu'il y a deux intervalles entre eux. Supposons que nous voulions que chaque intervalle ait une largeur de 10px. Cela signifie que la largeur du parent doit être augmentée de 20px, c'est-à-dire qu'elle ne doit pas être de 300px, mais de 320px.

Maintenant, donnons au parent des blocs la propriété justify-content avec la valeur space-between et nous obtiendrons la distance souhaitée entre les blocs :

<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 class="child">9</div> </div> .parent { display: flex; flex-wrap: wrap; justify-content: space-between; width: 320px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

Maintenant, ajoutons la même distance entre les blocs verticalement. Pour cela, on peut définir la propriété align-content avec la valeur space-between.

Cependant, pour cela, il faut donner une hauteur au parent, sinon align-content ne fonctionnera pas. Définissons la hauteur à 320px. Dans ce cas, nous aurons exactement la place pour trois rangées de blocs de 100px de haut plus deux intervalles entre les rangées de 10px.

Lançons le code :

<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 class="child">9</div> </div> .parent { display: flex; flex-direction: row; justify-content: space-between; align-content: space-between; flex-wrap: wrap; width: 320px; height: 320px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

Tout fonctionne à merveille, mais il y a quelques problèmes que nous examinerons dans la leçon suivante.

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