CSS/속성 - flex

Flex Items 속성 - flex-shrink

appmaster 2021. 1. 13. 16:55

Item이 감소하는 너비의 비율을 설정한다. 숫자가 크면 더 많은 너비가 감소한다.
Item이 가변 너비가 아니거나, 값이 0일 경우 효과가 없다.

의미 기본값
숫자 Item의 감소 너비 비율을 설정 1
flex-shrink: 감소너비;

감소 너비(flex-shrink)는 요소의 너비에 영향을 받기 때문에 계산하기 까다롭다. 영향을 받는다는 요소의 너비는 width, height, flex-basis 등으로 너비가 지정된 경우를 의미한다.
Container의 너비가 줄어 Items의 너비에 영향을 미칠 경우, 영향을 미치기 시작한 지점부터 줄어든 거리 만큼 감소 너비 비율에 맞게 Item의 너비가 줄어든다.

예를 들어 Container의 너비가 줄어 Item의 너비에 영향을 미치기 시작한 지점부터 실제 줄어든 거리가 90px일 때,
요소 너비가 같은 Item이 2개이고 지정된 감소 너비가 각각 2와 1이라면,
감소 너비는 2:1 비율이며,
첫 번째 Item은 90px의 2/3인 60px 만큼 너비가 감소하고,
두 번째 Item은 90px의 1/3인 30px 만큼 너비가 감소한다.

다른 예시로 Container의 너비가 줄어 Item의 너비에 영향을 미치기 시작한 지점부터 실제 줄어든 거리가 90px일 때,
요소 너비가 다른 Item이 2개이고 요소 너비는 각각 200과 100이고,
지정된 감소 너비가 각각 2와 1이라면,
200 x 2 = 400과 100 x 1 = 100 즉 감소 너비는 4:1 비율이며,
첫 번째 Item은 90px의 4/5인 72px 만큼 너비가 감소하고,
두 번째 Item은 90px의 1/5인 18px 만큼 너비가 감소한다.

'CSS > 속성 - flex' 카테고리의 다른 글

Flex Items 속성 - flex  (0) 2021.01.13
Flex Items 속성 - flex-basis  (0) 2021.01.13
Flex Items 속성 - flex-grow  (0) 2021.01.13
Flex Containers 속성 - order  (0) 2021.01.13
Flex Containers 속성 - align-items  (0) 2021.01.13