본문 바로가기
HTML/HTML 기본문법

HTML 이미지 맵(Image Maps)

by flycoding 2023. 4. 30.
반응형

HTML 이미지 맵을 사용하여 이미지에 클릭 가능한 영역을 만들 수 있다.

 

이미지 맵

HTML <map> 태그는 이미지 맵을 정의한다. 이미지 맵은 클릭 가능한 영역이 있는 이미지이다. 영역은 하나 이상의 <영역> 태그로 정의한다.


아래 이미지에서 컴퓨터, 전화기 또는 커피 잔을 클릭한다:

<!DOCTYPE html>
<html>
<body>

<h2>이미지 맵</h2>
<p>새 페이지로 이동하여 항목에 대한 자세한 내용을 보려면 컴퓨터, 전화 또는 커피 잔을 클릭하십시오:</p>

<img src="workplace.jpg" alt="Workplace" usemap="#workmap" width="400" height="379">

<map name="workmap">
  <area shape="rect" coords="34,44,270,350" alt="Computer" href="computer.htm">
  <area shape="rect" coords="290,172,333,250" alt="Phone" href="phone.htm">
  <area shape="circle" coords="337,300,44" alt="Cup of coffee" href="coffee.htm">
</map>

</body>
</html>


컴퓨터 이미지를 클릭하면 아래 페이지로 이동한다.
스마트폰 이미지를 클릭하면 아래 페이지로 이동한다.
커피 이미지를 클릭하면 아래 페이지로 이동한다.

HTML 이미지맵 image map 태그 활용 예제

 

어떻게 작동할까요?

이미지 맵 뒤에 있는 개념은 클릭하는 이미지의 위치에 따라 다른 작업을 수행할 수 있어야 한다는 것이다.

이미지 맵을 만들려면 이미지와 클릭 가능한 영역을 설명하는 HTML 코드가 필요하다.

 

이미지

이미지는 <img> 태그를 사용하여 삽입된다. 다른 이미지와 다른 점은 usemap 속성을 추가해야 한다는 것이다:

<img src="workplace.jpg" alt="Workplace" usemap="#workmap">

usemap 값은 해시 태그 # 뒤에 이미지 맵의 이름으로 시작하며 이미지와 이미지 맵 간의 관계를 만드는 데 사용된다.

 

이미지 맵 생성

그런 다음 <map> 요소를 추가합니다.

<map> 요소는 이미지 맵을 만드는 데 사용되며 필요한 이름 속성을 사용하여 이미지에 연결된다:

<map name="workmap">

이름 특성은 <img>의 usemap 특성과 동일한 값을 가져야 한다.

 

영역(The Areas)

그런 다음 클릭 가능한 영역을 추가한다.

클릭 가능한 영역은 <영역> 요소를 사용하여 정의된다.

 

모양(Shape)

클릭 가능한 영역의 모양을 정의해야 하며 다음 값 중 하나를 선택할 수 있다:

  • rect - 직사각형 영역을 정의합니다
  • 원 - 원형 영역을 정의합니다
  • 폴리 - 다각형 영역을 정의합니다
  • default - 전체 영역을 정의합니다

또한 클릭 가능한 영역을 이미지에 배치할 수 있도록 일부 좌표를 정의해야 한다.

 

Shape="rect"

shape="rect"에 대한 좌표는 x축과 y축에 대한 좌표로 쌍을 이룬다.
좌표 34,44는 왼쪽 여백에서 34픽셀, 위쪽에서 44픽셀에 위치한다:

HTML Image Map shapre="rect" 예

좌표 270,350은 왼쪽 여백에서 270픽셀, 위쪽에서 350픽셀에 위치한다:

HTML Image Map shapre="rect" 예

 

클릭할 수 있는 영역이며 사용자를 "computer.htm" 페이지로 보낸다:

HTML Image Map shapre="rect" 클릭영역 좌표 예시

 

<!DOCTYPE html>
<html>
<body>

<h2>이미지 맵-shape="rect"</h2>
<p>새 페이지로 이동하여 항목에 대한 자세한 내용을 보려면 컴퓨터를 클릭하십시오:</p>

<img src="workplace.jpg" alt="Workplace" usemap="#workmap" width="400" height="379">

<map name="workmap">
  <area shape="rect" coords="34,44,270,350" alt="Computer" href="computer.htm">
</map>

</body>
</html>

 

Shape="circle"

원 영역을 추가하려면 먼저 원의 중심 좌표를 찾는다: (337, 300)

HTML 이미지 맵 shape="circle" 예

 

그런 다음원의 반지름을 지정한다: (44)

HTML 이미지 맵 shape="circle" 반지름 예제

 

<!DOCTYPE html>
<html>
<body>

<h2>이미지 맵-Shape="circle" 예</h2>
<p>새 페이지로 이동하여 주제에 대해 자세히 알아보려면 커피잔을 클릭하십시오:</p>

<img src="workplace.jpg" alt="Workplace" usemap="#workmap" width="400" height="379">

<map name="workmap">
  <area shape="circle" coords="337,300,44" alt="Cup of coffee" href="coffee.htm">
</map>

</body>
</html>

 

Shape="poly"

shape="poly"에는 직선(다각형)으로 형성된 모양을 만드는 여러 좌표 점이 포함되어 있다.
이것은 모든 모양을 만드는 데 사용할 수 있다.

크로와상 모양처럼!

아래 이미지의 크로와상을 클릭 가능한 링크로 만들려면 어떻게 해야 할까?

 

크로와상의 모든 모서리에 대한 x와 y 좌표를 찾아야 한다:

HTML 이미지 맵 shape="poly" 크로와상 모서리 좌표 예시

좌표는 x축과 y축으로 쌍으로 제공된다:

<!DOCTYPE html>
<html>
<body>

<h2>이미지 맵-shape="poly"</h2>
<p>새 페이지로 이동하여 항목에 대한 자세한 내용을 보려면 크로와상을 클릭하십시오:</p>

<img src="frenchfood.jpg" alt="French Food" usemap="#foodmap" width="450" height="675">

<map name="foodmap">
  <area shape="poly" coords="140,121,181,116,204,160,204,222,191,270,140,329,85,355,58,352,37,322,40,259,103,161,128,147" alt="Croissant" href="croissant.htm">
</map>

</body>
</html>

 

이미지 맵과 자바스크립트(Image Maps and JavaScript)

클릭 가능한 영역은 JavaScript 기능을 트리거할 수도 있다.

클릭 이벤트를 <area> 요소에 추가하여 JavaScript 함수를 실행한다:

<!DOCTYPE html>
<html>
<body>

<h2>Image Maps</h2>

<p>Click on the cup of coffee to execute a JavaScript function:</p>

<img src="workplace.jpg" alt="Workplace" usemap="#workmap" width="400" height="379">

<map name="workmap">
  <area shape="circle" coords="337,300,44" href="coffee.htm" onclick="myFunction()">
</map>

<script>
function myFunction() {
  alert("You clicked the coffee cup!");
}
</script>

</body>
</html>

자바스크립트 실행화면

확인 버튼을 클릭하면, 




마무리

이번 글에서는 이미지 맵에 관련해서 살펴보았다. 

꼭~~꼭 실습을 하고 다른 예제도 만들어서 실습해보기를 추천한다.

 

  • HTML <map> 요소를 사용하여 이미지 맵을 정의한다
  • HTML <area> 요소를 사용하여 이미지 맵에서 클릭 가능한 영역을 정의한다
  • 이미지 맵을 가리키려면 <img> 요소의 HTML usemap 속성을 사용한다

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

'HTML > HTML 기본문법' 카테고리의 다른 글

HTML <picture> 요소  (0) 2023.05.02
HTML 배경이미지(Background Images)  (0) 2023.05.01
HTML 이미지(Image)  (0) 2023.04.29
HTML 링크-북마크 생성  (0) 2023.04.28
HTML 링크-다른색상  (0) 2023.04.27

댓글