box-sizing 특성의 실용적인 측면만 포스팅 한다.
간단하게 원래의 특성에 대해 말하자면, box-sizing은 'Box의 크기를 어떤 것을 기준으로 계산할지'에 대한 것이다.
- content-box : 콘텐트 영역을 기준으로 크기를 정함
- border-box : 테두리를 기준으로 크기를 정함
- initial : 기본값으로 설정
- inherit : 부모 요소의 속성값을 상속
defalut는 content-box 이다.
하지만 content-box의 문제점이 있다.
기존의 특정 Box에 Padding 값을 부여한 상태에서 해당 Box 안의 요소에 특정 너비값을 준 경우가 그 예시에 속한다.

실제 실습 예시이다. 원래는 아이콘 4개가 보여야 하는데, 하나가 화면 밖으로 사라졌다.

이미 Padding으로 50px을 준 상태였다. 브라우저는 사용자가 이 padding값을 원했으니, 이 값을 유지한 채로 작업을 수행한다. 즉, padding값과 기존 컨텐츠의 너비를 모두 유지하려고 하는 것이다.
하지만 이건 사용자가 원하는 방식이 아니다. 이를 무시하고(포함하고) 적용시키기 위해서는
box-sizing: border-box;
위 코드가 필요하다.
padding값을 주지만, 기존의 Box 크기는 유지하고 싶다는 뜻이다.

결과적으로는 컨텐츠의 너비가 줄어들고, 의도한 Box의 크기는 유지하게 된다.
참고)
https://www.codingfactory.net/10630
https://nomadcoders.co/kokoa-clone/lectures/1781
'Front-end > CSS' 카테고리의 다른 글
CSS) [Block / Inline] 기본 개념과 구분 방법 (0) | 2022.10.08 |
---|---|
CSS) [CSS-Hack] 컨테이너에 속한 3개의 박스를 일정한 너비로 설정하기 ... space-between 오류 (0) | 2022.10.08 |
CSS) [BEM 방식] 클래스 명명법으로 코드 간결화 (0) | 2022.10.08 |
CSS) [Google Fonts / Icons] CSS로 무료 폰트와 아이콘 이용하기 (0) | 2022.10.08 |
CSS) [Reset.css] 브라우저의 기본 CSS 요소를 제거하려면 (0) | 2022.10.08 |