Layout
브라우저가 엘리먼트의 전체 크기를 어떻게 계산할지 제어하는 유틸리티
box-border
유틸리티를 사용하면 엘리먼트의 box-sizing
을 border-box
로 설정할 수 있습니다. 이렇게 하면 브라우저가 엘리먼트의 높이나 너비를 지정할 때 테두리와 패딩을 포함하여 계산합니다.
예를 들어, 2px 테두리와 모든 면에 4px 패딩이 있는 100px × 100px 엘리먼트는 100px × 100px로 렌더링되며, 내부 콘텐츠 영역은 88px × 88px이 됩니다.
Tailwind는 이 설정을 preflight 기본 스타일에서 모든 엘리먼트에 기본값으로 적용합니다.
<div class="box-border h-32 w-32 p-4 border-4 ...">
<!-- ... -->
</div>
box-content
유틸리티를 사용하면 엘리먼트의 box-sizing
을 content-box
로 설정할 수 있습니다. 이는 브라우저에게 엘리먼트의 지정된 너비나 높이에 테두리와 패딩을 추가하도록 지시합니다.
즉, 100px × 100px 크기의 엘리먼트에 2px 테두리와 각 면에 4px 패딩이 적용되면, 실제로는 112px × 112px로 렌더링되며, 내부 콘텐츠 영역은 100px × 100px로 유지됩니다.
<div class="box-content h-32 w-32 p-4 border-4 ...">
<!-- ... -->
</div>
Tailwind는 상태에 따라 유틸리티 클래스를 조건부로 적용할 수 있게 해줍니다. 예를 들어, hover:box-content
를 사용하면 box-content
유틸리티를 hover 상태에서만 적용할 수 있습니다.
<div class="box-border hover:box-content">
<!-- ... -->
</div>
사용 가능한 모든 상태 수정자 목록은 호버, 포커스, & 기타 상태 문서를 참고하세요.
여러분은 반응형 브레이크포인트, 다크 모드, prefers-reduced-motion 등과 같은 미디어 쿼리를 타겟팅하기 위해 변형 수식어를 사용할 수 있습니다. 예를 들어, md:box-content
를 사용하면 중간 화면 크기 이상에서만 box-content
유틸리티를 적용할 수 있습니다.
<div class="box-border md:box-content">
<!-- ... -->
</div>
더 자세히 알아보려면 반응형 디자인, 다크 모드, 그리고 다른 미디어 쿼리 수식어에 대한 문서를 확인하세요.