HTML Image Maps

HTML Image Maps

La ruta del desarrollador web frontend autónomo🤹‍♂️


Con los mapas de imágenes HTML, puedes crear áreas en las que se puede hacer clic en una imagen.


Mapa de imágenes

La etiqueta HTML <map> define un mapa de imagen. Un mapa de imagen es una imagen con áreas en las que se puede hacer clic. Las áreas se definen con una o más etiquetas <area>.

En la siguiente imagen, haz clic en la computadora, el teléfono o la taza de café:

Ejemplo:


¿Cómo funciona?

La idea detrás de un mapa de imagen es que deberías poder realizar diferentes acciones según el lugar de la imagen en el que haga clic.

Para crear un mapa de imagen, necesitas una imagen y algo de código HTML que describa las áreas en las que se debe hacer clic.


La imagen

La imagen se inserta usando la etiqueta <map>. La única diferencia con otras imágenes es que debes agregar un atributo usemap:

Ejemplo

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

El valor del atributo usemap comienza con hashtag # seguido del nombre del mapa de imagen, y se usa para crear una relación entre la imagen y el mapa de imagen.

Tip: puedes usar cualquier imagen como un mapa de imagen.😎


Crea un mapa de imagen

Luego, agrega un elemento <map>.

El elemento <map> se utiliza para crear un mapa de imagen y se vincula a la imagen mediante el atributo requerido name:

<!-- Mapa de imagen -->
<img src="workplace.jpg" alt="Workplace" usemap="#workmap">

<!-- Vincular con el mapa de imagen -->
<map name="workmap">

El atributo name debe tener el mismo valor que el atributo usemap del elemento <img>.


Las áreas

Luego, agrega las áreas donde se debe hacer clic.

Un área donde se debe hacer clic, se define usando un elemento <area>.


Formas

Debes definir la forma del área en la que se debe hacer clic, y puedes elegir uno de estos valores:

  • rect - define una región rectangular

  • circle - define una región circular

  • poly - define una región poligonal

  • default - define toda la región

También debes definir las coordenadas para poder ubicar el área en la que se debe hacer clic en la imagen.


Región rectangular

Las coordenadas para shape="rect" vienen en pares, una para el eje x y otra para el eje y.

Entonces, las coordenadas 34, 44 se ubican a 34px del margen izquierdo y a 44px de la parte superior.

Las coordenadas 270, 350 se ubican a 270px del margen izquierdo y 350px de la parte superior.

Ahora tenemos suficientes datos para crear un área rectangular en donde se puede hacer clic:👏

Ejemplo:

<!-- Ejemplo del caso anterior -->
<area shape="rect" coords="34, 44, 270, 350" href="computador.html" alt="Workplace">

Este es el área👇 en la que se puede hacer clic y enviará al usuario a la página "computer.html":


Región circular

Para agregar un área circular, primero ubique las coordenadas del centro del círculo: 337, 300👇

Luego especifique el radio del círculo: 44px👇

Ahora tenemos suficientes datos para crear un área circular en la que se puede hacer clic:

Ejemplo:

<area shapre="circle" coords="337, 300, 44" href="coffee.html">

Este es el área👇 en la que se puede hacer clic y enviará al usuario a la página "coffee.html".


Región poligonal

La forma shape="poly" contiene varios puntos de coordenadas, lo que crea una forma compuesta con líneas rectas.

Esto se puede utilizar para crear cualquier forma.

Como tal vez una forma de croissant.

¿Cómo podemos hacer que el croissant de la siguiente imagen se convierta en un área en el que se puede hacer clic?🤔

Tenemos que encontrar las coordenadas x y y para todos los lados del croissant:

Croissant

Las coordenadas vienen en pares, uno para el eje x y otro para el eje y.

Ejemplo:

<!-- Area poligonal -->
<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" 
href="croissant.html">

Este es el área👇 en la que se puede hacer clic y enviará al usuario a la página "croissant.html".

Croissant area


Mapa de imágenes y JavaScript

Un área donde se puede hacer clic también puede activar/invocar una función JavaScript.

Agrega un event clic al elemento <area> para ejecutar una función JavaScript:

Ejemplo:


Resumen

  • Usa el elemento <map> para definir un mapa de imagen

  • Usa el elemento <area> para definir las áreas en las que se pueden hacer clic en el mapa de imagen

  • Usa el atributo usemap del elemento <img> para relacionar un mapa de imagen


Traducido con 💚 desde W3Schools.com

Did you find this article valuable?

Support Santos Romero by becoming a sponsor. Any amount is appreciated!