⊗mkSpFxSFC 96 of 128 menu

CSS-də Fleks Blokların Sıxılmasının Tənzimlənməsi

Standart olaraq, bütün elementlərdən eninə mütənasib olaraq kiçik hissələr kəsilir. Lakin, bəzi elementlərdən daha böyük və ya daha kiçik hissələrin kəsiləcəyi təmin edilə bilər. Bunun üçün xüsusi flex-shrink xassəsi mövcuddur.

Bu xassə, artıq yuxarıda göstərilən düstura əsasən kəsiləcək hissənin hesablanması zamanı elementin eni ilə vurulacaq müəyyən bir çəkidir. Məsələn, əgər elementin eni 200px, onun flex-shrink dəyəri isə 3-dursa, onda elementin çəkili (yəni çəkiyə vurulmuş) eni belə olacaq:

200px * 3 = 600px

flex-shrink nəzərə alınmaqla düstur aşağıdakı formanı alacaq: mənfi sərbəst fəza * (elementin çəkili eni / bütün elementlərin çəkili enlərinin cəmi).

Gəlin bir nümunəyə baxaq. Tutaq ki, bizim 4 elementimiz var. Birinci elementin eni 400px, flex-shrink dəyəri 2, qalan elementlərin eni isə 200px və onların flex-shrink dəyəri 1 olsun. Valideynin eni isə 900px olsun.

Elementlərin ümumi eni bərabərdir:

400px + 3 * 200px = 1000px

Mənfi sərbəst fəza bərabər olacaq:

1000px - 900px = 100px

Elementlərin ümumi çəkili eni bərabərdir:

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

Birinci elementin çəkili eni bərabərdir:

400px * 2 = 800px

Birinci elementdən aşağıdakı hissə kəsiləcək:

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

Elementin eni bərabər olacaq:

400px - 57.14px = 342.86px ~ 343px

Qalan elementlərin hər birinin çəkili eni bərabərdir:

200px * 1 = 200px

Hər bir elementdən aşağıdakı hissə kəsiləcək:

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

Elementin eni bərabər olacaq:

200px - 14.2px = 185.8px ~ 186px

Təsvir olunan blokları həyata keçirin və ölçmə yolu ilə yoxlayın ki, elementlərin eni həqiqətən də bizim hesabladığımız kimi olur.

Blokların enini hesablayın, sonra hesablamaları ölçmə yolu ilə yoxlayın:

<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 enini hesablayın, sonra hesablamaları ölçmə yolu ilə yoxlayın:

<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 enini hesablayın, sonra hesablamaları ölçmə yolu ilə yoxlayın:

<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; }
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et