⊗mkSpFxSFC 96 of 128 menu

CSS'te Esnek Kutu Sıkıştırma Düzenleme

Varsayılan olarak, tüm öğelerden genişlikleriyle orantılı parçalar koparılır. Ancak, bazı öğelerden daha büyük veya daha küçük parçaların koparılmasını sağlayabilirsiniz. Bunun için flex-shrink adlı özel bir özellik vardır.

Bu özellik, daha önce verilen formüle göre koparılacak parçanın hesaplanmasında öğenin genişliği ile çarpılacak bir ağırlığı temsil eder. Örneğin, bir öğenin genişliği 200px ve flex-shrink değeri 3 ise, öğenin ağırlıklandırılmış (yani ağırlıkla çarpılmış) genişliği şu şekilde olur:

200px * 3 = 600px

flex-shrink dikkate alındığında formül şu şekilde olacaktır: neg. serbest alan * (öğenin ağırlıklandırılmış genişliği / tüm öğelerin ağırlıklandırılmış genişlikleri toplamı).

Bir örnek üzerinden gidelim. Diyelim ki 4 öğemiz var. İlk öğenin genişliği 400px ve flex-shrink değeri 2 olsun, diğer öğelerin genişliği - 200px ve onların flex-shrink değeri 1 olsun. Ebeveynin genişliği 900px olsun.

Öğelerin toplam genişliği:

400px + 3 * 200px = 1000px

Negatif serbest alan şöyle olacaktır:

1000px - 900px = 100px

Öğelerin toplam ağırlıklandırılmış genişliği:

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

İlk öğenin ağırlıklandırılmış genişliği:

400px * 2 = 800px

İlk öğeden şu kadar parça koparılacak:

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

Öğenin genişliği şöyle olacaktır:

400px - 57.14px = 342.86px ~ 343px

Diğer öğelerin her birinin ağırlıklandırılmış genişliği şöyledir:

200px * 1 = 200px

Her bir öğeden şu kadar parça koparılacak:

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

Öğenin genişliği şöyle olacaktır:

200px - 14.2px = 185.8px ~ 186px

Açıklanan blokları uygulayın ve ölçüm yaparak öğelerin genişliklerinin gerçekten hesapladığımız gibi olduğunu kontrol edin.

Blokların genişliklerini hesaplayın ve ardından hesaplamaları ölçümle kontrol edin:

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

Blokların genişliklerini hesaplayın ve ardından hesaplamaları ölçümle kontrol edin:

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

Blokların genişliklerini hesaplayın ve ardından hesaplamaları ölçümle kontrol edin:

<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; }
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet