HTML_CSS

(HTML CSS) box-sizing 속성, border-box content-box inherit

코딩ABC 2025. 5. 27. 09:39
반응형

✅ box-sizing 속성

문법:

box-sizing: content-box | border-box | inherit;
 

📦 주요 값

값설명
content-box ❗ 기본값. width와 height는 content만 포함. padding, border는 크기에 추가됨
border-box ✅ width와 height에 padding과 border가 포함됨. 실제 요소의 크기를 정확히 조절하기 쉬움
inherit 부모 요소로부터 box-sizing 값을 상속
 

🔍 차이점 예제:

/* 공통 스타일 */
div {
  width: 200px;
  padding: 20px;
  border: 10px solid black;
}

/* 1. 기본값: content-box */
.div1 {
  box-sizing: content-box;
}

/* 2. 더 많이 쓰이는 border-box */
.div2 {
  box-sizing: border-box;
}
 

📏 실제 크기 계산:

요소box-sizing총 너비 계산실제 보이는 크기
.div1 content-box 200 + 2×20 (padding) + 2×10 (border) = 260px 260px
.div2 border-box 200px 전체 안에 padding+border 포함 200px
 

✅ 실무 팁: 초기화 스타일에 포함

많은 개발자들이 아래처럼 전역 설정에 box-sizing: border-box를 사용합니다:

 
  • border-box는 크기 계산이 예측 가능하고
  • 패딩/테두리가 늘어나도 전체 레이아웃이 깨지지 않음
  • 반응형 웹 디자인에 유리

🎯 요약

속성 값설명
content-box width/height는 content만 포함
border-box width/height에 padding, border 포함
inherit 부모의 설정을 물려받음
 

 

🔍 차이점 예제 2:

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        #aa { box-sizing: border-box;}
        #bb { box-sizing: content-box }

        div { border: solid 10px blue;
            margin: 10px;
            width: 200px;
        }
        
    </style>
</head>
<body>
    
    <div id="aa">aaa</div>
    <div id="bb">bbb</div>
</body>
</html>

box-sizing 속성

반응형