실무에 바로 적용할 수 있는 웹 제작 꿀팁 및 유용한 자료실 공간입니다.
나눔웹이 제공하는 핵심 노하우와 마케팅 인사이트를 자유롭게 활용해 보십시오.

나눔웹 퍼블리싱 꿀팁

이미지 아래 몇 px 여백이 생길 때, vertical-align으로 없애는 법

배너나 썸네일 박스에 이미지를 넣었는데 이미지 아래에 3~5px 정도의 빈 여백이 생겨 배경색이 비쳐 보인 적 있으신가요?
margin과 padding을 모두 0으로 해도 사라지지 않는 이 여백은 버그가 아니라, 이미지가 글자처럼 줄 위에 놓이기 때문에 생깁니다. display: block이나 vertical-align 한 줄이면 정리됩니다.

💡 margin을 0으로 해도 왜 안 없어질까요?

img 태그는 기본값이 inline입니다. 브라우저는 이미지를 한 글자처럼 취급해 글자의 기준선(baseline)에 맞춰 세우는데, 기준선 아래에는 g, y, p 같은 글자의 꼬리가 내려올 자리가 항상 비어 있습니다. 이미지 아래 여백의 정체가 바로 그 자리입니다. 그래서 글꼴 크기나 line-height가 크면 여백도 함께 커집니다.

1. 단독으로 쓰는 이미지는 display: block

메인 배너, 상품 썸네일, 카드 이미지처럼 혼자 한 줄을 차지하는 이미지라면 display: block이 가장 확실합니다. 줄 위에 놓이지 않으니 글자 꼬리 공간도 생기지 않습니다. 반응형 대응을 위해 max-width: 100%와 height: auto를 함께 두는 것을 권합니다.

/* 원인 : img는 글자처럼 기준선(baseline)에 놓입니다 */
.banner img {
  display: block;   /* 줄 위에 놓이지 않으니 여백 사라짐 */
  max-width: 100%;
  height: auto;
}

이미지를 가운데 정렬하던 text-align: center는 block이 되면 더 이상 먹히지 않습니다. 이때는 margin: 0 auto로 바꿔 주세요.

2. 글자 옆 아이콘은 vertical-align

버튼 안의 작은 아이콘처럼 글자와 같은 줄에 있어야 하는 이미지를 block으로 바꾸면 줄이 바뀌어 버립니다. 이럴 때는 기준선 대신 다른 위치에 맞추도록 vertical-align을 바꿉니다. baseline만 아니면 여백은 생기지 않고, 글자와의 높이 맞춤은 middle이 가장 무난합니다.

/* 글자와 같은 줄에 있어야 하는 아이콘은 */
.btn img {
  vertical-align: middle; /* 또는 top, bottom */
}

3. 리뉴얼 작업이라면 기본값으로

페이지마다 하나씩 고치기보다 공통 CSS에 기본값으로 넣어 두면 이후에 추가되는 이미지까지 한 번에 해결됩니다. 실제로 오래된 사이트를 리뉴얼할 때 게시판 썸네일, 배너, 푸터 로고 아래 여백이 한꺼번에 정리되는 경우가 많습니다.

/* 사이트 전체 기본값으로 넣어 두는 방법 */
img, video, svg {
  vertical-align: middle;
}
  • flex나 grid 컨테이너의 바로 아래 자식인 이미지는 블록처럼 다뤄지므로 이 여백이 생기지 않습니다.
  • 부모에 font-size: 0이나 line-height: 0을 주는 방법도 있지만, 안에 글자가 들어가면 함께 사라지니 권하지 않습니다.
  • a 태그로 감싼 이미지는 a가 아니라 img에 적용해야 합니다.

"작은 틈 하나가 화면 전체의 완성도를 좌우합니다."

나눔웹은 퍼블리싱 검수 때 배너와 썸네일 경계를 하나씩 확인해,
의도하지 않은 여백 없이 디자인 그대로 보이도록 마무리합니다.


List of Articles
번호 분류 제목 글쓴이
» 퍼블리싱 이미지 아래 몇 px 여백이 생길 때, vertical-align으로 없애는 법 new 나눔웹
42 웹 성능 스크립트 때문에 홈페이지 첫 화면이 늦게 뜰 때, async와 defer 고르는 기준 new 나눔웹
41 마케팅 검색 결과에 파비콘이 안 나올 때, favicon 크기와 link 태그 점검 순서 나눔웹
40 UI/UX 모바일 버튼이 잘 안 눌린다면? 터치 영역 44px 기준과 padding으로 넓히는 법 나눔웹
39 모바일 모바일 hover 색상이 눌린 채 남을 때, @media (hover)로 해결하기 나눔웹
38 퍼블리싱 position: sticky가 안 먹힐 때, 부모 overflow부터 확인해야 하는 이유 나눔웹
37 웹 성능 메인 배경 동영상 때문에 홈페이지가 느릴 때, 용량 줄이기와 video 태그 설정 나눔웹
36 마케팅 검색 결과 설명이 엉뚱하게 나올 때, title과 meta description 쓰는 법 나눔웹
35 퍼블리싱 썸네일 이미지 찌그러짐, object-fit과 aspect-ratio로 비율 맞추는 법 나눔웹
34 모바일 모바일 문의 폼 자동완성이 안 뜬다면? autocomplete 값과 인증번호 자동 입력 나눔웹
33 UI/UX 버튼 클릭 테두리(outline), 지우지 말고 :focus-visible로 정리하는 법 나눔웹
32 퍼블리싱 flex 레이아웃이 모바일에서 옆으로 삐져나올 때, min-width: 0이 필요한 이유 나눔웹
31 웹 성능 메인 배너 LCP가 느리다면? 첫 화면 이미지는 lazy 대신 fetchpriority로 나눔웹
30 마케팅 네이버 서치어드바이저 등록 순서, 새 홈페이지가 검색에 안 나올 때 점검할 4가지 나눔웹
29 웹 성능 글씨가 안 보이다가 갑자기 뜬다면? '웹 폰트 로딩' 1초 단축하는 마법 나눔웹
28 웹 성능 구글 SEO 점수 폭발! 이미지 로딩 속도 3배 높이는 '단 1줄'의 마법 나눔웹
27 마케팅 카톡에 우리 회사 링크 보낼 때 뜨는 '회색 빈 박스' 없애는 필수 세팅 (OG 태그) 나눔웹
26 마케팅 '제출하기' 버튼은 그만! 클릭률 200% 높이는 마법의 단어 (CTA) 나눔웹
25 마케팅 돈 버는 마케터의 비밀! 유입 출처를 추적하는 마법의 꼬리표 'UTM' 나눔웹
24 퍼블리싱 촌스러운 '파일 선택' 버튼, 복잡한 꼼수 없이 예쁘게 디자인하기 나눔웹
Board Pagination Prev 1 2 3 Next
/ 3
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4