最小可用模板:,须严格匹配name/id、填原始像素坐标、每个area带alt。

直接给你能复制粘贴跑起来的最小可用模板,不是“教程”,是开箱即用的代码块。 你不需要从零写 <map></map>,但必须手动填坐标、改链接、配 alt——这部分没法跳过,否则热区失效或不可访问。
usemap="#xxx" 和 name="xxx" 必须严格匹配且带 # 号
这是最常卡住人的地方:浏览器只认 usemap="#myMap",写成 usemap="myMap" 或 usemap="#MyMap"(大小写不一致)都会让整个映射静默失效。
<img src="plan.jpg" alt="楼层平面图" usemap="#floor-map">-
<map name="floor-map"></map>—— 注意这里name值是floor-map,不带# - HTML5 要求同时写
name和id才保险:<map name="floor-map" id="floor-map"></map>
coords 坐标必须是原始图片像素值,不能抄百分比
所有 coords 都基于图片原始尺寸(比如 800×600),不是当前显示尺寸。用 Photoshop、GIMP 或在线工具(如 ImageMap Generator)导出坐标时,确认它输出的是像素值,不是百分比——HTML5 已废弃 % 坐标语法。
- 矩形
rect:顺序是left,top,right,bottom,例如coords="120,80,240,160" - 圆形
circle:center_x,center_y,radius,例如coords="400,300,50" - 多边形
poly:按顶点顺时针/逆时针列x,y对,例如coords="100,200,150,180,180,220,130,240"
area 标签必须嵌在 map 内,且每个都要有 alt
<area> 离开 <map></map> 就是废标签;没 alt 不仅 SEO 拉胯,屏幕阅读器会完全跳过该区域,违反 WCAG 基本可访问性要求。
立即学习“前端免费学习笔记(深入)”;
- 正确写法:
<area shape="rect" coords="50,30,180,120" href="/east" alt="点击进入华东地区详情"> - 别漏
title:虽然非强制,但加了才有悬停提示,用户才明白点哪干啥 - 移动端点击不准?不是 bug,是设计限制——坐标不动,图片一缩放,热区就偏移。这不是调 CSS 能修的
响应式场景下别硬扛,优先换 SVG
如果你的图片要适配手机、平板、桌面,或者宽高会变(比如 max-width: 100%),纯 <map></map> 的 coords 一定会失准。这时候强行用 JS 动态重算坐标(比如 rwd-image-maps 库)只是补丁,维护成本高、边界 case 多。
- SVG 是更现代的替代:矢量、天然响应式、支持 hover/focus/transition、可无障碍标注
- 如果必须保留图片格式,CSS + JS 定位方案(监听 click +
getBoundingClientRect()计算相对位置)比修coords更可控 - 简单项目里,把大图拆成几张小图+独立
<a><img alt="HTML图片区域映射代码哪里找?常用模板套用方法" ></a>,有时比折腾<map></map>更省事
真正难的从来不是写对标签,而是坐标准确、语义清晰、设备兼容——这三样缺一不可,少一个,用户就点不到、看不到、读不懂。



















