⊗mkSpFxSFC 96 of 128 menu

Flex-blokkide kokkusurumise reguleerimine CSS-is

Vaikimisi võetakse kõikidest elementidest ära tükid, mis on võrdelised elemendi laiusega. Siiski on võimalik teha nii, et mõnest elemendist võetakse ära suuremad või väiksemad tükid. Selleks on olemas spetsiaalne omadus flex-shrink.

See omadus on teatud kaal, millega korrutatakse elemendi laiust ära võetava tüki arvutamisel vastavalt ülaltoodud valemile. Näiteks kui elemendi laius on 200px ja selle flex-shrink on 3, siis kaalutud (st kaaluga korrutatud) elemendi laius saab olema:

200px * 3 = 600px

Valem, mis arvestab flex-shrink-i, on järgmine: neg. vaba ruum * (kaalutud elemendi laius / kõikide kaalutud laiuste summa).

Vaatame näidet. Olgu meil 4 elementi. Olgu esimese elemendi laius 400px ja flex-shrink võrdne 2, ülejäänud elementide laius - 200px ja nende flex-shrink on võrdne 1. Olgu vanema laius 900px.

Elementide kogulaius on:

400px + 3 * 200px = 1000px

Negatiivne vaba ruum on:

1000px - 900px = 100px

Elementide kogukaalutud laius on:

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

Esimese elemendi kaalutud laius on:

400px * 2 = 800px

Esimeselt elemendilt võetakse ära järgmine tükk:

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

Elemendi laius on:

400px - 57.14px = 342.86px ~ 343px

Ülejäänud elementide igaühe kaalutud laius on:

200px * 1 = 200px

Iga elemendilt võetakse ära järgmine tükk:

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

Elemendi laius on:

200px - 14.2px = 185.8px ~ 186px

Realiseerige kirjeldatud plokid ja kontrollige mõõtmisega, et elementide laius on tõepoolest võrdne meie poolt arvutatuga.

Arvutage plokkide laius ja seejärel kontrollige arvutusi mõõtmisega:

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

Arvutage plokkide laius ja seejärel kontrollige arvutusi mõõtmisega:

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

Arvutage plokkide laius ja seejärel kontrollige arvutusi mõõtmisega:

<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; }
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu