정리하자면 box-sizing:content-box은 기본값으로, 기본적인 너비와 높이만 해당 너비와 높이를 지칭하는 것을 말한다. box-sizeing:border-box는 말 그대로 border까지 포함하는 것을 말하며 기본 너비와 높이, 그리고 padding과 border까지 포함하게 된다.
💡 margin > border > padding
바깥에서부터 순서대로 margin, border, padding이다.
개발하다 겪은 이슈
border가 생기고 안생기고에 따라 img크기가 바뀐다.
border이 생긴다 > box-sizing:border-box로 설정했기 때문에, border영역만큼 안의 크기가 작아진다.(content+padding+border의 값을 유지하기 위해)
해결 방법 : border은 항상 존재하고, 선택이 안되었다면 border-color을 transparent로 설정한다.
결론
width:100%, height:100%가 절대 width = height를 의미하지 않는다. 1:1의 비율로 만들고 싶다면 aspect-ratio : 1/1 를 사용하자.
만약 width:100%와 함께 이 속성을 사용한다면 아래와 같이 width:100%를 지키려다 높이가 무너진 것을 발견할 수 있으니, aspect-ratio만 사용하자.