⊗mkSpRsTl 126 of 128 menu

Mosaïque adaptative sans espaces en CSS

Créons une mosaïque qui aura un nombre variable de blocs par rangée en fonction de la largeur de l'écran. Voici un exemple de ce que nous devrions obtenir :

Écrivons d'abord le code HTML :

<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 class="child">10</div> <div class="child">11</div> <div class="child">12</div> </div>

Ajoutons maintenant les styles au parent des blocs :

.parent { display: flex; flex-wrap: wrap; width: 95%; margin: 50px auto; }

Maintenant, définissons les styles des blocs eux-mêmes, sans leur donner de largeur :

.child { box-sizing: border-box; height: 100px; padding: 20px; border: 1px solid green; }

Il est évident que la largeur des blocs doit être en pourcentage, afin que les blocs modifient leur largeur fluidement lorsque l'écran change. En même temps, à certains points de rupture de l'écran, nous devons changer la largeur des blocs de manière à ce qu'un certain nombre de ces blocs tiennent sur une ligne.

Écrivons le code qui placera quatre blocs sur une ligne :

@media (min-width: 1000px) { .child { width: 25%; } }

Et maintenant, plaçons trois blocs sur une ligne :

@media (min-width: 700px) and (max-width: 1000px) { .child { width: 33.3333%; } }

Et maintenant, plaçons deux blocs sur une ligne :

@media (min-width: 400px) and (max-width: 700px) { .child { width: 50%; } }

Un bloc par ligne :

@media (max-width: 400px) { .child { width: 100%; } }

Rassemblons tout le code :

.parent { display: flex; flex-wrap: wrap; width: 95%; margin: 50px auto; } .child { box-sizing: border-box; height: 100px; padding: 20px; border: 1px solid green; } @media (max-width: 400px) { .child { width: 100%; } } @media (min-width: 400px) and (max-width: 700px) { .child { width: 50%; } } @media (min-width: 700px) and (max-width: 1000px) { .child { width: 33.3333%; } } @media (min-width: 1000px) { .child { width: 25%; } }

Modifiez mon code pour que la largeur des blocs soit calculée via la fonction calc.

Créez une mosaïque qui, lorsque l'écran rétrécit, affichera d'abord quatre éléments par ligne, puis deux éléments par ligne, et enfin un élément par ligne.

Créez une mosaïque qui, lorsque l'écran rétrécit, affichera d'abord six éléments par ligne, puis trois éléments par ligne, et enfin un élément par ligne.

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