개발/CSS
box-sizing 속성
함수형 인간
2025. 2. 17. 02:52
box-sizing은 요소의 크기를 어떻게 계산할지 결정하는 역할을 한다.
box-sizing의 두 가지 값
box-sizing 속성에는 크게 두 가지 값이 있다.
- content-box (기본값):
- 요소의 내용 영역(content)을 기준으로 너비와 높이를 계산한다.
- padding, border는 내용 영역 외부에 추가되어 요소의 전체 크기를 증가시킨다.
- 예시: 이 경우, .box 요소의 실제 너비는 100px (내용 영역) + 20px (왼쪽 패딩) + 20px (오른쪽 패딩) + 10px (왼쪽 테두리) + 10px (오른쪽 테두리) = 160px.
-
CSS
.box { width: 100px; /* 내용 영역의 너비 */ padding: 20px; /* 패딩 */ border: 10px solid black; /* 테두리 */ box-sizing: content-box; }
- border-box:
- border를 포함한 요소의 전체 크기를 기준으로 너비와 높이를 계산한다.
- padding, border는 내용 영역 내부에 포함되어 요소의 전체 크기를 유지한다.
- 예시:
CSS
.box { width: 100px; /* 테두리, 패딩을 포함한 전체 너비 */ padding: 20px; /* 패딩 */ border: 10px solid black; /* 테두리 */ box-sizing: border-box; }
box-sizing 사용 시 장점
- 직관적인 크기 계산: border-box를 사용하면 요소의 너비와 높이를 padding, border를 포함한 전체 크기로 설정하므로, 크기 계산이 더 직관적이고 편리하다.
- 예측 가능한 레이아웃: border-box를 사용하면 요소의 크기가 padding, border에 의해 늘어나는 것을 방지하여 레이아웃이 깨지는 것을 방지할 수 있다.
box-sizing 활용 팁
- 대부분의 경우 box-sizing: border-box;를 사용하는 것이 일반적이다.
- box-sizing 속성은 상속된다. 즉, 부모 요소에 box-sizing 속성을 설정하면 자식 요소에도 상속된다.