⊗mkSpFxDEWSF 95 of 128 menu

Largeur variable des éléments et compressibilité des blocs flex en CSS

Supposons maintenant que nos éléments aient des largeurs différentes. Dans ce cas, le fragment retranché sera proportionnel à la largeur de cet élément et sera calculé selon la formule suivante : espace libre négatif * (largeur de l'élément / somme de toutes les largeurs des éléments).

Supposons que nous ayons 4 éléments. Supposons que la largeur du premier élément soit de 400px, la largeur des autres éléments - 200px, et la largeur du parent 900px.

La largeur totale des éléments est égale à :

400px + 3 * 200px = 1000px

Alors l'espace libre négatif sera égal à :

1000px - 900px = 100px

Trouvons combien sera retranché du premier élément :

100px * (400px / 1000px) = 40px

C'est-à-dire que sa largeur sera égale à :

400px - 40px = 360px

Trouvons combien sera retranché de chacun des autres éléments :

100px * (200px / 1000px) = 20px

C'est-à-dire que la largeur de ces éléments sera égale à :

200px - 20px = 180px

Implémentez les blocs décrits et vérifiez par mesure que la largeur des éléments sera bien égale à celle calculée par nous.

Calculez la largeur des blocs, puis vérifiez les calculs par mesure :

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> <div class="child elem3">3</div> </div> .parent { display: flex; width: 300px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 300px; } .elem2 { width: 100px; } .elem3 { width: 100px; }
kkhutritaz