box-sizing
content-box
: 요소의 내용(content)으로 크기 계산border-box
: 요소의 내용 + padding
+ border
로 크기 계산
item
클래스를 가진div
태그의 첫번째 요소에border:4px
과padding:10px
씩 추가해서 가로의 크기가 기존100px
에서(100+4+4+10+10)=128px
로 크기가 커진 것을 볼 수 있다.- 만약 요소의 크기 변화 없이
border
와padding
속성을 추가하고 싶다면box-sizing:border-box;
속성을 추가 해주면 자동으로 요소의 크기 변화 없이 기존에 설정 했던100px
크기에 맞게 알아서 맞춰 준다.
box-sizing
을 사용하면 자동으로 기존 너비의 크기에 맞게border
값과padding
값이 문제 없이 잘 들어 간 것을 확인할 수 있다.- 만약 이 기능을 사용하지 않고 작업할 경우에 일일이
padding
값과border
값을 계산해서 너비의 크기를 다시 조절 해줘야하는 불편함이 따른다.
box-sizing: border-box;
를 사용하면 요소의 크기를 직접 계산하지 않아도 된다.Q&A
Q. 아래 코드가 지정된 요소의 실제 가로 너비는?width: 100px; padding: 20px; border: 1px solid red;
A. 142px
Q. 아래 코드가 지정된 요소의 실제 가로 너비는?width: 100px; padding: 20px; border: 1px solid red; box-sizing: border-box;
A. 100px