웹 개발할 때 width
와 padding
을 설정하면 예상과 다르게 레이아웃이 깨지는 경우가 많다.
예를 들어, 다음과 같이 스타일을 지정했다고 가정해보자.
.box {
width: 200px;
padding: 50px;
border: 10px solid black;
}
이 경우 .box
의 실제 너비는 얼마일까?
보통 200px - 50px(좌) - 50px(우) = 100px
이 될 거라고 생각할 수도 있지만,
실제로는 width
가 컨텐츠 영역(content box)만을 의미하기 때문에 아래처럼 계산된다.
200px (content) + 50px (left padding) + 50px (right padding)
+ 10px (left border) + 10px (right border)
= 320px
즉, padding
과 border
가 width
에 포함되지 않기 때문에 원하는 크기보다 커지는 문제가 발생한다.
box-sizing: border-box;
로 해결!이 문제를 해결하려면 box-sizing: border-box;
를 적용하면 된다.
.box {
width: 200px;
padding: 50px;
border: 10px solid black;
box-sizing: border-box;
}
이렇게 설정하면 width: 200px;
이 padding과 border까지 포함한 크기가 된다.
즉, 전체 너비가 200px을 유지하면서 내부 content
크기가 자동으로 조절된다.
계산 방식은 다음과 같다.
200px (전체 박스 크기) - 10px (left border) - 10px (right border)
- 50px (left padding) - 50px (right padding)
= 80px (content 영역 크기)
즉, box-sizing: border-box;
를 적용하면 요소의 총 크기가 예상한 대로 정확하게 유지된다.
border-box
적용하기웹사이트 전체에 box-sizing: border-box;
를 적용하면
레이아웃을 훨씬 더 쉽게 다룰 수 있다
* {
box-sizing: border-box;
}
이렇게 하면 모든 요소의 width
가 padding과 border를 포함한 크기로 설정된다.
즉, 요소 크기를 계산할 때 더 이상 padding
과 border
를 따로 신경 쓸 필요가 없다.
border-box
를 사용하면 좋은 점width
를 설정할 때 padding과 border까지 포함해서 크기를 조절할 수 있음.padding
을 변경해도 전체 크기가 유지되므로, UI를 정리하기 쉬움.설정값 | width 의 의미 | 실제 크기 계산 방식 |
---|---|---|
box-sizing: content-box; (기본값) | 컨텐츠 영역 크기만 포함 | width + padding + border |
box-sizing: border-box; | 컨텐츠 + padding + border 포함 | width 그대로 유지 |
결론: box-sizing: border-box;
를 사용하면 예상한 크기를 유지할 수 있다!
앞으로 box-sizing: border-box;
를 적용해서 더 직관적인 CSS 레이아웃을 만들어보자! 🚀
1. 개요 본 글은 LVM의 스냅샷(snapshot) 기능으로 복구 지점 생성 → 파일 변경 → 스냅샷 병합(rollback) 과정을 실습합니다. 동일한…
https://youtu.be/ZcxB7akkDKs 1. 개요 두 개의 디스크(/dev/vdb, /dev/vdc)로 LVM을 구성하고, ext4·XFS 파일시스템 생성 → 마운트 → VG/LV 확장 → ext4 축소(오프라인)까지 전체…
https://youtu.be/XYBR1ZFrV9s 1. 개요 parted를 사용해 새 디스크에 GPT 라벨 생성 → 파티션 생성(ext4/XFS) → 포맷/마운트 →…
https://youtu.be/yYV8RQKCFzA 1. 개요 이 문서는 fdisk를 사용해 MBR(DOS) 디스크에 파티션을 생성하고, ext4/XFS 파일시스템을 포맷·마운트, /etc/fstab에 등록했다가, 안전하게 해제·삭제하는 전…
1. 개요 Linux에서 디스크 파티션 스타일은 MBR(Master Boot Record) 와 GPT(GUID Partition Table)에 대해 설명합니다. 2. MBR이란? 디스크…
https://youtu.be/CNd1bJV4wGY 1. 개요 Windows Server를 새로 설치할 때의 설치 과정을 단계별로 정리하였습니다. Windows Server 설치…