直接用 HTML 原生 + 可实现世界地图区域跳转,关键在于用 poly 形状配合像素坐标描边国家边界,需确保图片 usemap 与 匹配、坐标不越界、底图分辨率统一且避免缩放失配。

用 <map></map> 和 @#@#@#@#@#@#@#@#@#@0:上传地图图 → 用多边形工具描边 → 自动生成 <code>@#@#@#@#@#@#@#@#@#@1 的免费 SVG 或 PNG 底图更稳妥
<li>小国(如马尔代夫、斐济)建议合并成一个 <code><area>,否则 coords 太碎,维护成本高
<area> 的 href 和 target 怎么设才合理
<area> 的 href 和 target 怎么设才合理跳转行为不是简单加链接就完事。用户点击后是否新开页、要不要带参数、失败了有没有 fallback,都得提前想好。
-
href支持相对路径("./cn.html")、绝对 URL("https://example.com/jp")、锚点("#japan"),但不支持javascript:void(0)(部分浏览器会忽略) - 加
target="_blank"必须同步加rel="noopener",否则有安全风险(window.opener可被恶意页面控制) - 如果某个区域暂时没内容,别留空
href,用href="#" onclick="return false;"阻止跳转,避免页面顶部跳动 - 移动端点击热区小,建议给
<area>加title属性(title="点击进入德国页面"),长按可提示
为什么点不动?常见失效原因
90% 的问题出在三个地方:图片路径错、usemap 名字不匹配、coords 超出图片尺寸。
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
- 检查控制台有没有
Failed to load resource—— 如果地图图 404,整个<map></map>就不生效 - 右键「检查元素」,确认
<img>的usemap值(如usemap="#worldmap")和<map name="worldmap"></map>完全一致,包括引号和空格 - 用浏览器开发者工具的「元素选择器」点一下
<area>,看右侧样式面板是否显示display: none或pointer-events: none(某些 CSS 重置会误杀) -
coords中任意一个x或y超过图片宽高,整个区域就失效——例如图片是 1000×500,却写了coords="1001,200,..."
复杂点在于:世界地图的投影方式(墨卡托 vs 罗宾逊)会影响坐标分布,同一组 coords 换张底图就得重调。最容易被忽略的是图片缩放——用 width/height 缩放 <img> 时,<area> 坐标不会自适应,必须用 CSS transform: scale() 或重生成匹配缩放后的坐标。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










