box-sizing

box-sizing (박스 크기 계산 방식)

요소의 box-sizing 을 border-box 또는 content-box 로 설정해서 너비/높이 계산 시 테두리와 패딩을 포함할지 여부를 정하는 유틸리티예요. 옆에서 함께 짚어 드릴게요.

출처: 문서

본문

ClassStyles

클래스 스타일
box-border box-sizing: border-box;
box-content box-sizing: content-box;

Examples

Including borders and padding

box-border 유틸리티는 요소의 box-sizing 을 border-box 로 설정해요. 그러면 너비나 높이를 줄 때 요소의 테두리(border)와 패딩(padding)이 함께 포함되도록 브라우저에 알려 줘요.

즉, 2px 테두리와 사방 4px 패딩을 가진 100px × 100px 요소는 100px × 100px 로 렌더링되고, 내부 콘텐츠 영역은 88px × 88px 가 돼요.

<div class="box-border size-32 border-4 p-4 ...">
  <!-- ... -->
</div>

Tailwind는 preflight 기본 스타일에서 모든 요소에 이 방식을 기본값으로 적용해요.

Excluding borders and padding

box-content 유틸리티는 요소의 box-sizing 을 content-box 로 설정해요. 그러면 요소에 지정한 너비/높이 위에 테두리와 패딩이 더해지도록 브라우저에 알려 줘요.

즉, 2px 테두리와 사방 4px 패딩을 가진 100px × 100px 요소는 실제로는 112px × 112px 로 렌더링되고, 내부 콘텐츠 영역은 100px × 100px 가 돼요.

<div class="box-content size-32 border-4 p-4 ...">
  <!-- ... -->
</div>

Responsive design

box-sizing 유틸리티 앞에 md: 같은 브레이크포인트 변형을 붙이면, 중간 크기(md) 화면 이상에서만 해당 유틸리티를 적용할 수 있어요.

<div class="box-content md:box-border ...">
  <!-- ... -->
</div>

변형(variant) 사용법에 대해 더 자세히 알고 싶다면 variants 문서를 참고해 주세요.

더 알아보기 (Learn more)