能,但必须用+且usemap与map的name严格匹配(含#与否、大小写、空格),coords基于原始图尺寸,响应式需JS或SVG,移动端热区不小于44×44px。

能,但必须用 <map></map> + <area>,且 usemap 和 name 的字符串要完全一致(含 # 与否)——漏掉 #、大小写错、多空格,都会静默失效。
usemap 和 map name 必须严格匹配
浏览器不报错,但鼠标悬停没手型、点击无反应,就是这里错了。
-
<img usemap="#product-map" alt="如何在HTML图片中划分多个可点击区域" >中的#product-map必须带# -
<map name="product-map"></map>中的name值**不能带**# - 二者字符串必须逐字符相等:大小写、下划线、连字符、空格都不能差
- 常见翻车点:
usemap="#ProductMap"对应<map name="product-map"></map>→ 失效
coords 坐标永远基于原始图片尺寸
只要用了 CSS 缩放(width: 100%、max-width、transform: scale()),或 <img alt="如何在HTML图片中划分多个可点击区域" > 的 width/height 属性改变了显示尺寸,coords 就会偏移。
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
- 矩形:
coords="50,30,120,90"表示左上 (50,30) 到右下 (120,90),单位是原始图的像素 - 圆形:
coords="200,150,40"表示圆心在原始图 (200,150),半径 40px - 多边形:
coords="80,60,110,40,140,60,110,80"是顺次顶点,全部按原始图尺寸算 - 响应式页面中,纯
<map></map>无法自动适配;真要缩放,得换 SVG 或用 JS 库(如image-map-resizer)
移动端热区至少 44×44px
不是“看着差不多”,而是物理尺寸——在手机屏幕上,触控点必须够大,否则点不中。
立即学习“前端免费学习笔记(深入)”;
- 矩形热区:确保
x2 - x1 ≥ 44且y2 - y1 ≥ 44 - 圆形热区:半径至少设为
22(coords="x,y,22") - 别只在 Chrome DevTools 模拟器里测;必须上真机,尤其 iOS 和安卓主流机型
- 如果原始图分辨率低(比如宽仅 300px),强行塞 5 个 44px 热区,很可能挤不下或重叠——这时该切图或改交互形式
最常被忽略的是坐标基准和移动端物理尺寸。很多人调完桌面端就上线,结果用户在手机上反复点不中,却以为是 JS 冲突或缓存问题——其实只是 coords 按缩放后尺寸写的,或者圆形半径写了 10。


















