⊗mkSpFxGTAW 104 of 128 menu

Indentations dans un carrelage avec largeur automatique des blocs en CSS

Supposons que nous ayons un carrelage de quatre blocs par rangée :

.child { width: 25%; }

Ajoutons à nos blocs des marges en pourcentage horizontalement et verticalement :

.child { margin-right: 1.5%; margin-bottom: 1.5%; } .child:nth-child(4n) { margin-right: 0; }

Pour l'instant, ce que nous avons fait ne fonctionnera pas correctement, car la largeur totale des blocs et des marges est supérieure à 100%. Pour un fonctionnement correct nous devons retirer à chaque bloc une certaine partie, pour faire de la place pour nos marges. Calculons ces parties.

Dans notre cas, il s'avère qu'il y a quatre blocs, et entre eux trois marges - d'un pourcent et demi chacune. Pour calculer la partie à retirer, il faut diviser la marge totale par le nombre de blocs :

1.5% * 3 / 4 = 1.125

Alors la largeur de chaque bloc sera égale à :

25% - 1.5% * 3 / 4 = 23.875%

Le code suivant en résultera :

.child { width: 23.875%; margin-right: 1.5%; margin-bottom: 1.5%; } .child:nth-child(4n) { margin-right: 0; }

On peut ne pas calculer cette marge nous-mêmes, et déléguer le travail de calcul à la fonction calc :

.child { width: calc(25% - 1.5% * 3 / 4); margin-right: 1.5%; margin-bottom: 1.5%; } .child:nth-child(4n) { margin-right: 0; }

Laissons également la fonction calc calculer la largeur du bloc :

.child { width: calc(100% / 4 - 1.5% * 3 / 4); margin-right: 1.5%; margin-bottom: 1.5%; } .child:nth-child(4n) { margin-right: 0; }

Définissez la largeur des blocs en pourcentages de sorte que le carrelage ait trois blocs par rangée, avec une distance de 3% entre eux.

Définissez la largeur des blocs en pourcentages de sorte que le carrelage ait six blocs par rangée, avec une distance de 0.5% entre eux.

Définissez la largeur des blocs en pourcentages de sorte que le carrelage ait quatre blocs par rangée, avec une distance de 30px entre les blocs.

Définissez la largeur des blocs en pourcentages de sorte que le carrelage ait cinq blocs par rangée, avec une distance de 50px entre les blocs.

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