Flex Shrink

Flex Shrink (flex-shrink)

flex 항목이 공간이 부족할 때 얼마나 줄어들 수 있는지 정해 주는 유틸리티예요. 항목이 컨테이너보다 커질 때 넘치지 않도록 압축하는 정도를 조절할 수 있어요.

출처: 문서

본문

클래스 & 스타일 (Class Styles)

shrink flex-shrink: 1;

shrink-<number> flex-shrink: <number>;

shrink-[<value>] flex-shrink: <value>;

shrink-(<custom-property>) flex-shrink: var(<custom-property>);

flex 항목이 줄어들도록 하기 (Allowing flex items to shrink)

shrink을 사용하면 flex 항목이 필요할 때 줄어들 수 있어요.

01 02 03

<div class="flex ...">
  <div class="h-14 w-14 flex-none ...">01</div>
  <div class="h-14 w-64 shrink ...">02</div>
  <div class="h-14 w-14 flex-none ...">03</div>
</div>

항목이 줄어들지 못하게 하기 (Preventing items from shrinking)

shrink-0을 사용하면 flex 항목이 줄어들지 못하게 막을 수 있어요.

01 02 03

<div class="flex ...">
  <div class="h-16 flex-1 ...">01</div>
  <div class="h-16 w-32 shrink-0 ...">02</div>
  <div class="h-16 flex-1 ...">03</div>
</div>

커스텀 값 사용하기 (Using a custom value)

shrink-[<value>] 문법을 사용하면 완전히 커스텀한 값으로 flex shrink 계수를 설정할 수 있어요.

<div class="shrink-[calc(100vw-var(--sidebar))] ...">
  <!-- ... -->
</div>

CSS 변수를 쓸 때는 shrink-(<custom-property>) 문법을 사용할 수도 있어요.

<div class="shrink-(--my-shrink) ...">
  <!-- ... -->
</div>

이것은 shrink-[var(<custom-property>)]의 줄임 표현이에요. var() 함수를 자동으로 추가해 주기 때문에 훨씬 편리하죠.

반응형 디자인 (Responsive design)

flex-shrink 유틸리티에 md: 같은 브레이크포인트 variant를 붙이면 중간(medium) 화면 크기 이상에서만 유틸리티를 적용할 수 있어요.

<div class="shrink md:shrink-0 ...">
  <!-- ... -->
</div>

variant 사용에 대해 더 자세히 알고 싶다면 variants 문서를 확인해 보세요.

더 알아보기 (Learn more)