margin과 padding 차이 이해하기
여백을 넣었는데 박스 크기가 달라지거나, 옆 요소와 간격이 예상과 다르게 보이는 상황
- 문제 상황 확인
- 짧은 코드로 재현
- 브라우저에서 결과 점검
margin과 padding 차이에서 먼저 볼 부분
padding은 요소 안쪽 여백이고 margin은 요소 바깥쪽 여백입니다. 카드 UI를 만들 때 이 차이를 알면 레이아웃이 안정됩니다.
padding은 내용과 테두리 사이의 공간입니다. 버튼 내부 글자와 버튼 테두리 사이를 넓히고 싶을 때 padding을 씁니다.
margin은 요소와 요소 사이의 거리입니다. 카드끼리 간격을 만들거나 제목과 문단 사이를 벌릴 때 사용합니다.
초보자가 흔히 겪는 문제는 padding과 width가 함께 쓰일 때 박스 크기가 커지는 현상입니다. box-sizing을 border-box로 두면 예측하기 쉬워집니다.
카드 박스 여백
.card {
padding: 20px;
margin: 16px 0;
border: 1px solid #d8e0e8;
}
.card-title {
margin: 0 0 8px;
}
이 예제는 그대로 복사해서 확인하는 것보다 한 줄씩 바꿔보는 쪽이 더 도움이 됩니다. 태그 이름, 선택자, 변수 이름, 함수 실행 위치를 조금씩 바꾸면 어떤 부분이 결과에 영향을 주는지 직접 확인할 수 있습니다.
margin과 padding 차이 이해하기 비교 기준
| 구분 | padding | margin |
| 위치 | 테두리 안쪽 | 테두리 바깥쪽 |
| 배경색 영향 | 배경색이 보임 | 배경색이 보이지 않음 |
| 주 용도 | 내부 공간 | 요소 간 간격 |
잘못 작성했을 때 나타나는 흐름
CSS 글은 속성 하나만 외우기보다 부모 요소와 자식 요소의 관계를 같이 확인하는 방식으로 읽는 것이 좋습니다.
스타일이 적용되지 않을 때는 개발자 도구에서 어떤 규칙이 취소선 처리되는지 먼저 보면 원인을 빠르게 좁힐 수 있습니다.
모바일 화면에서는 고정 너비, 긴 코드, margin 조합이 문제를 만들기 쉬우므로 작은 화면 기준까지 함께 확인해야 합니다.
브라우저에서 직접 확인하는 순서
먼저 화면에 나타나는 결과를 보고, 그다음 코드에서 방금 수정한 부분을 확인하세요. 결과가 예상과 다르다면 콘솔 오류, 파일 경로, 선택자 이름, 태그 닫힘, 실행 순서 중 하나가 흔한 원인입니다.
초보 단계에서는 정답 코드를 한 번에 외우기보다 실패한 코드와 수정한 코드를 나란히 비교하는 방식이 좋습니다. 이 글의 예제를 기준으로 작은 값을 바꿔보면 다음 글을 읽을 때도 기준이 더 선명해집니다.
실습 후 점검할 항목
- 글자와 테두리 사이 공간이면 padding 쓰기
- 요소와 요소 사이 거리면 margin 쓰기
- 전체 레이아웃이 밀리면 margin부터 확인하기
- 박스 크기가 커지면 box-sizing 확인하기
공식 문서로 더 확인하기: CSS 공식 문서