⊗mkSpFxSFC 96 of 128 menu

Flex bloku saspiešanas regulēšana CSS

Pēc noklusējuma no visiem elementiem tiek atņemtas daļas, kas proporcionālas elementa platumam. Tomēr, ir iespējams panākt, ka no dažiem elementiem tiek atņemtas lielākas vai mazākas daļas. Šim nolūkam pastāv īpašs īpašums flex-shrink.

Šis īpašums ir noteikts svars, ar kuru tiks reizināts elementa platums pie atņemamās daļas aprēķina pēc jau iepriekš dotās formulas. Piemēram, ja elementa platums ir 200px, un tā flex-shrink ir 3, tad svērtais (t.i., reizināts ar svaru) elementa platums būs vienāds ar:

200px * 3 = 600px

Formula, ņemot vērā flex-shrink, būs šādā formā: negatīvā brīvā telpa * (svērtais elementa platums / visu elementu svērto platumu summa).

Apskatīsim piemērā. Pieņemsim, ka mums ir 4 elementi. Lai pirmā elementa platums ir 400px, un flex-shrink ir 2, pārējo elementu platums - 200px, un to flex-shrink ir 1. Lai vecāka platums ir 900px.

Kopējais elementu platums ir:

400px + 3 * 200px = 1000px

Negatīvā brīvā telpa būs:

1000px - 900px = 100px

Kopējais svērtais elementu platums ir:

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

Pirmā elementa svērtais platums ir:

400px * 2 = 800px

No pirmā elementa tiks atņemts šāds daudzums:

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

Elementa platums būs:

400px - 57.14px = 342.86px ~ 343px

Katra no pārējiem elementiem svērtais platums ir:

200px * 1 = 200px

No katra elementa tiks atņemts šāds daudzums:

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

Elementa platums būs:

200px - 14.2px = 185.8px ~ 186px

Realizējiet aprakstītos blokus un pārbaudiet ar mērījumu, ka elementu platums patiešām būs vienāds ar mūsu aprēķināto.

Aprēķiniet bloku platumu un pēc tam pārbaudiet aprēķinus ar mērījumu:

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

Aprēķiniet bloku platumu un pēc tam pārbaudiet aprēķinus ar mērījumu:

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

Aprēķiniet bloku platumu un pēc tam pārbaudiet aprēķinus ar mērījumu:

<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; }
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt