목차
2. content-box
3. border-box
box-sizing
box-sizing은 요소의 전체 너비와 높이를 계산하는 방법을 설정한다.
box-sizing 속성의 값은 여러가지가 있지만, 대표적인 것은 content-box와 border-box 2가지이다.
content-box
CSS 표준에서 지정한 초기값으로, box-sizing 속성을 굳이 안써도 콘텐츠에 width나 height를 지정한다면 box-sizing: content-box 를 한 것과 동일하게 적용된다.
요소의 크기= 콘텐츠의 너비 및 높이 (border, padding, 여백은 포함되지않음)
따라서 padding이나 border를 추가할수록 본래의 콘텐츠 크기에 덧대지기 때문에 전체요소의 크기는 커지게 된다.
아래의 예시를 통해 이해해보자.
border-box
width와 height에 대해 지정한 값의 border와 padding을 고려하도록 브라우저에 지시한다.
즉, width와 height를 지정했다면, 그 크기를 유지하기 위해서 그 크기 안에 padding과 border를 꾸역꾸역 포함시킨다고 이해하면 쉽다.
예컨대 요소의 width를 100px로 설정하면 추가한 border나 padding이 100px에 포함되며 콘텐츠 상자는 추가 너비(border, padding)를 흡수하기 위해 축소된다.
요소의 크기= 콘텐츠의 너비 및 높이 + border + padding
따라서 width, height를 그대로 유지하면서 border와 padding으로 인해 커지는 것 방지하므로, 요소의 크기를 유지하고 싶을때 유용하다.
아래의 예시를 보면 바로 이해가 될 것이다.
출처: https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing
'Languages > CSS3' 카테고리의 다른 글
[CSS] 마우스 hover 시에 붕 뜨는 효과 넣기 (JS 사용X) (0) | 2023.07.30 |
---|---|
[CSS] grid 정복기 (2) | 2023.05.06 |
[CSS] position 정복기 (0) | 2023.04.27 |
[CSS] flex 정복기 (0) | 2023.04.27 |