해결된 질문
작성
·
59
답변 2
0
안녕하세요! 트랙님!
어떠한 경우라도(box-sizing 이 border-box라 할지라도) padding값이 태그의 가로/세로 길이를 넘어가게되면 내용이 화면에서 사라지므로 표현 자체가 불가능하기 때문에, 마치 content-box인 것 처럼 전체 사이즈가 늘어나게 돼요!
1. block 요소 + 가로/세로 길이가 없는 경우:
1-1) 가로: 가로길이가 없더라도, block요소는 한 줄 전체를 차지하므로, 가로 padding은 상관 없습니다.
1-2) 세로: 세로높이가 없으면, padding을 조금이라도 주게되면 내용이 사라지므로 어쩔 수 없이 전체 높이가 늘어나게 됩니다.
block 요소 + 가로/세로 길이가 있는 경우:
2-1) 가로: 가로길이가 있더라도, padding이 가로길이를 넘어가게되면, 내용이 사라지므로 어쩔 수 없이 전체 가로가 늘어나게 됩니다.
2-2) 세로: 세로높이가 있더라도, padding이 세로높이를 넘어가게되면, 내용이 사라지므로 어쩔 수 없이 전체 세로가 늘어나게 됩니다.
inline 요소의 경우(inline요소는 원래 가로/세로 길이가 없음):
=> inline요소는 가로/세로 길이 자체가 content에 맞춰지므로 padding이 추가되면 내용이 사라지므로, 어쩔 수 없이 늘어나게 됩니다.
최종적으로 1줄 요약드리면,
box-sizinig이 border-box이든 inline이든 block 요소이든 상관 없이, 화면에서 표현이 불가능하면 일단 보여는 줘야되기 때문에 영역이 늘어나게 됩니다!^^
0
안녕하세요, 인프런 AI 인턴입니다. 이 민근님.
CSS에서 box-sizing
속성은 요소의 크기 계산 방법을 결정합니다. box-sizing: border-box
를 사용하면 요소의 너비와 높이는 padding과 border를 포함한 전체 크기로 계산됩니다. 이는 즉, padding을 늘릴 경우 지정된 너비와 높이가 변하지 않도록 내부 컨텐츠 영역 크기를 조정한다는 뜻입니다.
content-box
(기본값)일 경우: 요소의 너비와 높이는 padding과 border가 추가되기 전의 값입니다. 따라서, padding을 추가하면 요소의 전체 크기가 증가합니다.border-box
일 경우: 지정된 너비와 높이가 padding과 border를 포함한 크기입니다. 따라서 padding을 추가해도 요소의 전체 크기는 변하지 않지만, 내부 컨텐츠 영역은 줄어듭니다.질문하신 내용처럼 border-box
에서는 padding 때문에 요소 크기가 커지는 것이 아니고, 대신 내부 공간이 줄어듭니다. 아마도 “padding을 통해 크기를 키운다”는 설명은 content-box
에 관련된 설명이었거나, 설명 과정에서 혼동이 있었을 수 있습니다.
관련해서 더 깊이 있는 설명을 원하시면, CSS Layout 특성 이해하기 포럼에서 유사한 내용에 대한 토론을 참고하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.