인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김트랙님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

▶ 실습2

padding 과 box-sizing 질문

해결된 질문

작성

·

59

0

14분 부터 css 전체선택자 box-sizing 이 border-box 라서 padding 을 하게되면 a 태그의 크기가 줄어들어야 하는 것 아닌가요? 왜 padding을 통해 크기를 키운다고 말씀하시나요?

답변 2

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! 트랙님!

어떠한 경우라도(box-sizing 이 border-box라 할지라도) padding값이 태그의 가로/세로 길이를 넘어가게되면 내용이 화면에서 사라지므로 표현 자체가 불가능하기 때문에, 마치 content-box인 것 처럼 전체 사이즈가 늘어나게 돼요!

1. block 요소 + 가로/세로 길이가 없는 경우:
1-1) 가로: 가로길이가 없더라도, block요소는 한 줄 전체를 차지하므로, 가로 padding은 상관 없습니다.
1-2) 세로: 세로높이가 없으면, padding을 조금이라도 주게되면 내용이 사라지므로 어쩔 수 없이 전체 높이가 늘어나게 됩니다.

 

  1. block 요소 + 가로/세로 길이가 있는 경우:
    2-1) 가로: 가로길이가 있더라도, padding이 가로길이를 넘어가게되면, 내용이 사라지므로 어쩔 수 없이 전체 가로가 늘어나게 됩니다.
    2-2) 세로: 세로높이가 있더라도, padding이 세로높이를 넘어가게되면, 내용이 사라지므로 어쩔 수 없이 전체 세로가 늘어나게 됩니다.

  2. inline 요소의 경우(inline요소는 원래 가로/세로 길이가 없음):
    => inline요소는 가로/세로 길이 자체가 content에 맞춰지므로 padding이 추가되면 내용이 사라지므로, 어쩔 수 없이 늘어나게 됩니다.

 

  • 최종적으로 1줄 요약드리면,
    box-sizinig이 border-box이든 inline이든 block 요소이든 상관 없이, 화면에서 표현이 불가능하면 일단 보여는 줘야되기 때문에 영역이 늘어나게 됩니다!^^

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 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 특성 이해하기 포럼에서 유사한 내용에 대한 토론을 참고하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.