html img태그의 그림을 a태그사이에 넣어 링크를 걸었는데 이를 브라우저로 실행해보면 그림 사이에 "-" 표시되고 여기에도 링크가 걸려있네요

조회수 948회
<a href=http://sales.happyreport.co.kr/sunnyfanta/20190423201305 target=_blank> <img src='http://www.happyreport.co.kr/prev/201904/지역농협 자소서-4556_01_.jpg' width ='150' height = '230'> </a>
<a href=http://sales.happyreport.co.kr/sunnyfanta/20190423201305 target=_blank> <img src='http://www.happyreport.co.kr/prev/201904/지역농협 자소서-4556_01_.jpg' width ='150' height='230'></a>

위 코드를 실행하면 아래 그림이 브라우저에 나타납니다.

그런데 두 이미지 사이의 중간 하단에 보면 빨간 동그라미 안에 "-"가 보이는데,

여기도 클릭하면 href의 내용이 링크되어 이동됩니다.

그런데 위 코드 상에 "-"가 링크 되는 내용이 없는데 그냥 생겼네요.

이유가 뭘까요?

그림을 여러개 삽입하면 그림과 그림사이 마다 "-"가 나타납니다.

그림 하나만 있을 때는 안보이구요...

이미지

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • ㅋㅋㅋ 그거는 마이너스 기호("-")가 아니라 띄어쓰기(&nbsp;) 하나에 링크 밑줄이 그어져 있는 상황입니다.


    원래 HTML은 태그와 태그 사이의 공백을 유효한 문자로 간주합니다. 사용자가 원해서 넣은 입력으로 본다는 거지요. 하지만 브라우저 입장에서는 온갖 탭문자와 띄어쓰기 문자로 가득한 아래와 같은 HTML 소스 파일을 그대로 다 보여주었다간 모든 게 엉망진창이 되거든요.

    <!-- 이 사이트 소스 일부 -->
    <!-- 이 a태그는 그 앞에 띄어쓰기가 6개, 그 내부에 띄어쓰기가 8개 있습니다. -->
          <a class="navbar-brand" href="https://hashcode.co.kr/">
            <span class="hc-icons-logo">Hashcode</span>
    </a>
    <!-- 하지만 이 사이트 로고 부분을 보세요. 띄어쓰기가 보이나요? -->
    

    그래서 브라우저는 매우 스마트하게 꼭 필요한 공백만 보여주고 나머지를 실제 렌더링에서 생략해 버립니다. (대표적인 행동으로서는, 여러 개의 띄어쓰기를 1개의 띄어쓰기로 축약합니다.) 그리고 주신 소스를 보면 첫번째 <a> 태그 안에 <img> 태그 직후 띄어쓰기가 하나 있지요. 그걸 지금 브라우저는 유효한 공백 -- 사용자가 원한 것 -- 이라고 생각하고 거기까지 링크를 걸어 밑줄을 그은 겁니다. 그리고 그 밑줄이 꼭 "-"처럼 생긴 거구요.


    한줄요약: >< 사이의 모든 공백을 없애고 저장한 뒤 다시 봐보세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)