이미지 하단에 생기는 이상한 공백 없애기

HTML로 레이아웃을 설정하다보면 DIV태그 안 이나 P태그 안에 이미지가 있는 경우 이미지 하단에 약 1~3px정도의 공백이 생기는 경우를 볼 수 있습니다. 그 공백을 없애려고 이리 찾아보고 저리 찾아봐도 해결이 잘 되지 않는데요. 이것을 없애는 방법을 정리해 보려고 합니다.

▲ 하단에 파란색의 공백이 있음(표시를 위해 백그라운드색을 파란색으로 했음)

<div><img src="https://placeimg.com/400/300/any" /></div>

원인

위와 같이 ImageDIVTable에 넣을 경우 하단에 원치않는 공백이 생깁니다.
그 이유는 Image인라인 요소이기 때문에 그런 것입니다. 인라인 요소의 경우 블록 요소와 달리 보이지 않는 가상의 기준선이 존재를 하는데 기본값으로 vertical-alignbaseline에 위치를 하게 됩니다. baseline영문 소문자로 치자면 아래 삐침이 없는 글자(a, b, c 등등..)의 아랫쪽에 위치하게 됩니다. 그렇기 때문에 아래 삐침이 있는 글자(y, g 등등..)을 고려하면 하단에 1~3px정도의 공백을 유지하게 되는 것입니다.

해결방안

원인을 알았으면 해결책은 쉽게 찾을 수 있습니다.

첫번째 방안

첫번째는 이미지의 vertical-alignbottom으로 하는 것입니다. vertical-align : bottom은 아래삐침이 있는 글자까지 고려하여 하단으로 정렬하는 것입니다. 그렇게 되면 공백이 없어지게 되겠지요.

vertical-align : bottom으로 하단에 파란색의 공백이 없어졌음

<div><img src="https://placeimg.com/400/300/any" style="vertical-align: bottom" /></div>

두번쨰 방안

두번쨰는 이미지를 인라인 요소에서 블록 요소로 속성을 변경시키는 것입니다. 블록 요소인 경우는 가상의 기준선이 없기 때문에 하단의 공백을 무시합니다. display : block로 변경을 하면 됩니다.

display : block 으로 하단에 파란색의 공백이 없어졌음

<div><img src="https://placeimg.com/400/300/any" style="display: block" /></div>

인라인 요소와 블록 요소의 차이점을 확인하시려면 이전 포스팅을 확인해 주세요.

Similar Posts

  • 맥가이버칼 같은 만능 디자인 툴 picpick

    맥가이버에게 스위스밀리터리 칼이 있는 것 처럼 디자이너에게는 굉장히 유용하게 사용할 수 있는 만능 디자인 툴인 픽픽(picpick)이 있습니다. 기업 및 단체 또는 개인을 포함한 모든 사용자가 무료로 사용할 수 있으며 상당히 완성도가 높아서 유용하게 사용할 수 있습니다. 다양한 기능 화면 캡처 화면 스크롤 캡처, 전체 영역, 선택 영역, 활성화된 영역, 고정된 영역, 듀얼 모니터 캡처 등 […]

  • 폰트어썸 (Font Awesome) 아이콘 폰트 사용하기

    아이콘 폰트인 폰트어썸 (Font Awesome)을 사용하는 방법입니다. 아이콘폰트가 무엇인지 궁금하면 이전에 포스팅한 아이콘 폰트(Icon font) 자유자제로 사용하기를 먼저 읽어 보시는 것을 추천합니다. 폰트어썸 (Font Awesome) 폰트어썸 (Font Awesome) 홈페이지 바로가기 폰트어썸은 가장 유명한 대표적인 아이콘폰트 제공 사이트 입니다. 다양한 형태의 아이콘이 빠르게 업데이트되고 있으며 깃헙에서 51000여개의 star를 받고 있을 정도로 사랑을 받고있습니다. 현재 유료서비스를 시도하고 […]

  • 시놀로지 NAS Docker에서 컨테이너로 이미지 만드는 법

    시놀로지에서 Docker을 잘 운영하려면 GUI로 제공되는 기능 이외에 CMD(ssh)를 다루기는 해야 합니다. GUI로 제공되지 않는 기능 중에 하나가 컨테이너로 이미지를 만드는 기능입니다. Docker을 활용하다 보면 요긴하게 활용되는 기술인데 왜 제공이 되지 않은지는 모르겠습니다. 이미지로 컨테이너 만들어 실행하기 먼저 이미지로 컨테이너를 만들어 실행시켜 봅니다. 이 작업은 어렵지 않겠지요? 혹시 완전 초보시라면 아래에 이전에 포스팅한 내용을 확인해 […]

  • CSS로 그럴듯한 버튼효과를 내보자

    별도의 라이브러리를 사용하지 않고 순수하게 CSS3만을 활용하여 버튼의 효과를 줄 수 있습니다. 급하게 퍼블리싱할때 써먹을 수 있게 정리해 놓겠습니다. 미리보기 BUTTON 1 BUTTON 2 BUTTON 3 BUTTON 4 코드설명 HTML HTML은 기본 버튼을 사용하고 .btn으로 기본속성을 지정하고 .hover로 효과의 형태를 변경하겠습니다. <button class=”btn hover1″> BUTTON 1 </button> <button class=”btn hover2″> BUTTON 2 </button> <button class=”btn […]

  • 구글 스프레드시트에서 콤보박스 적용하기

    MS 엑셀을 대체할 만한 제품 중에 구글 스프레드시트는 좋은 대안이 될 수 있습니다. 물론 MS 엑셀의 파워풀한 기능을 모두 사용할 수는 없지만 웬만한 기능은 동일하게 구현이 가능합니다. 더욱이 인터넷만 된다면 어디에서든지 사용할 수 있고 스마트폰에서도 무료로 사용이 가능하기 때문에 상당한 이점이 있습니다. 엑셀의 기능 중에 콤보박스 기능을 구글 스프레드시트에서도 쉽게 구현을 할 수 있습니다. 콤보박스 […]

  • git이란 무엇인가?

    git은 개발자에게는 없어서는 안될 버전관리시스템입니다. SVN이 중앙집중식 버전관리 시스템이라면 git은 분산 버전관리 시스템이라 할 수 있습니다. 이번 포스팅에서는 git에 대한 전체적인 개념에 대해서 작성하려고 합니다. 버전관리시스템이란? https://git-scm.com/book/ko/v2를 찾아보면… 버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. 라고 정의를 하고 있습니다. 소스코드뿐만이 아니라 그래픽 파일까지도 버전관리를 할 […]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다