⊗mkSpFxSFC 96 of 128 menu

Regulatie van het comprimeren van flexblokken in CSS

Standaard worden van alle elementen stukjes afgeknabbeld, evenredig aan de breedte van het element. Het is echter mogelijk om te regelen dat van sommige elementen grotere of kleinere stukjes worden afgeknabbeld. Hiervoor is er een speciale eigenschap flex-shrink.

Deze eigenschap vertegenwoordigt een bepaald gewicht, waarmee de breedte van het element wordt vermenigvuldigd bij het berekenen van het afgeknabbelde stukje volgens de hierboven reeds gegeven formule. Als de breedte van het element bijvoorbeeld 200px is, en zijn flex-shrink is 3, dan is de gewogen (d.w.z. vermenigvuldigd met het gewicht) breedte van het element:

200px * 3 = 600px

De formule, rekening houdend met flex-shrink, zal er als volgt uitzien: negatieve vrije ruimte * (gewogen breedte van het element / som van alle gewogen breedtes van de elementen).

Laten we een voorbeeld bekijken. Stel we hebben 4 elementen. Stel de breedte van het eerste element is 400px, en de flex-shrink is 2. De breedte van de andere elementen is 200px, en hun flex-shrink is 1. Stel de breedte van de ouder is 900px.

De totale breedte van de elementen is:

400px + 3 * 200px = 1000px

De negatieve vrije ruimte is:

1000px - 900px = 100px

De totale gewogen breedte van de elementen is:

400px * 2 + 200px * 1 + 200px * 1 + 200px * 1 = 1400px

De gewogen breedte van het eerste element is:

400px * 2 = 800px

Van het eerste element wordt het volgende stukje afgeknabbeld:

100px * (800px / 1400px) = 100px * 0.57 = 57.14px

De breedte van het element wordt:

400px - 57.14px = 342.86px ~ 343px

De gewogen breedte van elk van de andere elementen is:

200px * 1 = 200px

Van elk element wordt het volgende stukje afgeknabbeld:

100px * (200px / 1400px) = 100px * 0.142 = 14.2px

De breedte van elk element wordt:

200px - 14.2px = 185.8px ~ 186px

Implementeer de beschreven blokken en controleer met meting of de breedte van de elementen inderdaad gelijk is aan wat wij hebben berekend.

Bereken de breedte van de blokken en controleer vervolgens de berekeningen met een meting:

<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: 200px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 100px; flex-shrink: 2; } .elem2 { width: 100px; flex-shrink: 1; } .elem3 { width: 100px; flex-shrink: 1; }

Bereken de breedte van de blokken en controleer vervolgens de berekeningen met een meting:

<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: 200px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 100px; flex-shrink: 3; } .elem2 { width: 100px; flex-shrink: 2; } .elem3 { width: 100px; flex-shrink: 1; }

Bereken de breedte van de blokken en controleer vervolgens de berekeningen met een meting:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> <div class="child elem3">3</div> <div class="child elem4">4</div> </div> .parent { display: flex; width: 500px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 300px; flex-shrink: 3; } .elem2 { width: 200px; flex-shrink: 2; } .elem3 { width: 200px; flex-shrink: 1; } .elem4 { width: 200px; flex-shrink: 1; }
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren