크롬 브라우저에 보이는 그림 밑 여백 제거하기

몇 주 전에 제 웹사이트의 메인화면 그림 밑에서 이상한 여백을 발견하였습니다. IE, Firefox, 그리고 Safari는 제대로 제 웹사이트를 보여주었지만, 이상하게도 크룸 브라우저는 그림들과 테이블 사이에 빈  공간을 보여주고 있었습니다.

exam_1

[Open the code that shows the issue with Chrome]

[cellpadding] 과 [cellspacing] 요소를 이용하여, 그림과 각 테이블 셀들 사이의 공간을 0으로 설정하였고, 또 이미지의 외곽선 또한 0으로 설정하였기 때문에, 이 공간이 생길 이유는 없다고 생각했습니다.

<table width="200" height="150" border="0" cellpadding="0" cellspacing="0" style="table-layout:fixed;">
  <tr>
   <td width="200" height="50">
     <img border="0" src="cell1.jpg"> 
    </td>
  </tr>
 ....	
</table> 

며칠 동안 이 문제를 인터넷과 책을 통하여 조사해 보았지만, 유사한 사례는 있어도 정확한 원인을 찾을 수 없었습니다. 그래서 여러 가지로 테스트해보기로 하고, 일단 모든 CSS 코드를 제외한 HTML 코드로만 테스트했더니, 그 이상한 여백은 보이지 않았습니다. 이러한 이유로 어떤 CSS 코드가 이 문제를 발생한다고 생각하고 하나씩 테스트하여, “word-break:break-all;” 구문이 크롬 브라우저에 이 여백문제를 일으키고 있음을 알아내었습니다.

<STYLE TYPE='text/css'>
   body {
     word-break: break-all;
   }
</STYLE>

그러나 그 원인을 알아도, 제 웹사이트에는 그 “word-break: break-all;” CSS 구문이 필요했기 때문에 문제를 바로 해결할 수는 없었습니다. 일단 제가 생각하는 원인은 크롬 브라우저가 <img>도 inline element이기 때문에 글자들과 같이 취급하여 “word-break: break-all;” 구문이 그림 뒤에 여백을 만들어 낸 것으로 생각하였습니다. 그래서 이 그림들을 “display: block;” 구문으로 block element 들로 설정하였더니, 그 이상한 여백들이 없어졌습니다.

<html>
 <head>
  <title>Example.2</title>
  <STYLE TYPE='text/css'>		
  body {
    word-break:break-all;
  }
  img.noSpace
  {
    display: block;
  }
  </STYLE>
 </head>

 <body> 
 <table width="200" height="150" border="0" cellspacing="0" cellpadding="0" style="table-layout:fixed;">
   <tr>
     <td width="200" height="50">
	<img class="noSpace" border="0" src="cell1.jpg"> 
     </td>
    ......
 </table> 
 </body>
</html>

[Open  this code with Chrome]

간단한 해결책이지만, 몇 주 전에 갑자이 나타난 크롬브라우저 상의 여백은 참 당황스러웠습니다. 새삼 느끼는 것이지만, 모든 브라우저들 간 또 OS 사이에 정확한 표준이 확립되면 좋을 것 같습니다. 어려운 일이겠지만 말이죠. ^^

One thought on “크롬 브라우저에 보이는 그림 밑 여백 제거하기

  1. ann

    크롬에서만 이런 문제가 발생하여 이것저것 건들여봤는데도 안되서 걱정했는데
    덕분에 해결하였습니다:) 감사합니다~

답글 남기기