⊗mkSpFxSFC 96 of 128 menu

CSS flex blokkok összenyomásának szabályozása

Alapértelmezés szerint minden elemből arányos darabok vágnak le, az elem szélességével arányosan. Azonban lehetőség van arra, hogy egyes elemekből nagyobb vagy kisebb darabok vágjanak le. Erre szolgál a speciális tulajdonság flex-shrink.

Ez a tulajdonság egy bizonyos súlyt jelent, amellyel megszorozzuk az elem szélességét a fent már említett képlet szerinti levágandó darab kiszámításakor. Például, ha az elem szélessége 200px, és a flex-shrink értéke 3, akkor a súlyozott (azaz a súllyal megszorzott) szélessége az elemnek a következő lesz:

200px * 3 = 600px

A flex-shrink figyelembe vételével a képlet a következő formában lesz: negatív szabad tér * (súlyozott szélessége az elemnek / az összes súlyozott szélesség összege).

Nézzünk egy példát. Tegyük fel, hogy van 4 elemünk. Legyen az első elem szélessége 400px, és a flex-shrink értéke 2, a többi elem szélessége - 200px, és a flex-shrink értékük 1. Legyen a szülő szélessége 900px.

Az elemek összesített szélessége:

400px + 3 * 200px = 1000px

A negatív szabad tér egyenlő lesz:

1000px - 900px = 100px

Az elemek összesített súlyozott szélessége:

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

Az első elem súlyozott szélessége:

400px * 2 = 800px

Az első elemből a következő darab vágódik le:

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

Az elem szélessége egyenlő lesz:

400px - 57.14px = 342.86px ~ 343px

A többi elem súlyozott szélessége egyenlő:

200px * 1 = 200px

Minden elemből a következő darab vágódik le:

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

Az elem szélessége egyenlő lesz:

200px - 14.2px = 185.8px ~ 186px

Valósítsa meg a leírt blokkokat és ellenőrizze méréssel, hogy az elemek szélessége valóban egyenlő lesz a mi általunk számított értékkel.

Számítsa ki a blokkok szélességét, majd ellenőrizze a számításokat méréssel:

<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; }

Számítsa ki a blokkok szélességét, majd ellenőrizze a számításokat méréssel:

<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; }

Számítsa ki a blokkok szélességét, majd ellenőrizze a számításokat méréssel:

<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; }
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás