⊗mkSpFxSFC 96 of 128 menu

CSS 플렉스 블록 압축 조절

기본적으로 모든 요소는 요소의 너비에 비례하여 조각이 떼어집니다. 그러나 특정 요소에서 더 크거나 작은 조각이 떼어지도록 할 수 있습니다. 이를 위해 특별한 속성인 flex-shrink가 존재합니다.

이 속성은 위에서 언급한 공식에 따라 요소에서 떼어낼 조각을 계산할 때 요소의 너비에 곱해지는 가중치입니다. 예를 들어, 요소의 너비가 200px이고 flex-shrink 값이 3라면, 요소의 가중 (즉, 가중치가 곱해진) 너비는 다음과 같습니다:

200px * 3 = 600px

flex-shrink를 고려한 공식은 다음과 같습니다: 음의 자유 공간 * (요소의 가중 너비 / 모든 요소의 가중 너비 합).

예제를 살펴보겠습니다. 4개의 요소가 있다고 가정합니다. 첫 번째 요소의 너비는 400px이고 flex-shrink 값은 2입니다. 나머지 요소들의 너비는 200px이고, 그들의 flex-shrink 값은 1입니다. 부모의 너비는 900px라고 가정합니다.

요소들의 총 너비는 다음과 같습니다:

400px + 3 * 200px = 1000px

음의 자유 공간은 다음과 같습니다:

1000px - 900px = 100px

요소들의 총 가중 너비는 다음과 같습니다:

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

첫 번째 요소의 가중 너비는 다음과 같습니다:

400px * 2 = 800px

첫 번째 요소에서 떼어질 조각의 크기는 다음과 같습니다:

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

요소의 너비는 다음과 같습니다:

400px - 57.14px = 342.86px ~ 343px

나머지 각 요소의 가중 너비는 다음과 같습니다:

200px * 1 = 200px

각 요소에서 떼어질 조각의 크기는 다음과 같습니다:

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

요소의 너비는 다음과 같습니다:

200px - 14.2px = 185.8px ~ 186px

설명된 블록들을 구현하고 측정을 통해 요소들의 너비가 실제로 우리가 계산한 값과 동일한지 확인하세요.

블록들의 너비를 계산한 다음, 측정을 통해 계산을 검증하세요:

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

블록들의 너비를 계산한 다음, 측정을 통해 계산을 검증하세요:

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

블록들의 너비를 계산한 다음, 측정을 통해 계산을 검증하세요:

<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; }
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부