coords属性单位及坐标格式全解析
时间:2026-04-23 12:42:42 124浏览 收藏
HTML 中的 `coords` 属性仅支持像素(px)单位,严格基于图像原始尺寸定义绝对坐标,不兼容任何 CSS 单位或负值;其格式由 `shape` 属性决定——`rect` 对应“x1,y1,x2,y2”,`circle` 为“x,y,r”,`poly` 则是顺次排列的顶点坐标序列;常见失效并非语法错误,而是因 CSS 缩放未同步换算坐标、`usemap` 匹配失败、图像加载异常或交互属性缺失所致,精准调试需结合开发者工具验证 DOM 解析与坐标值一致性。

coords 属性的单位只有像素,没有其他单位
HTML 标签的 coords 属性值**全部以像素(px)为单位**,且是相对于图像左上角 "0,0" 的绝对坐标。它不支持 em、rem、%、vh 等任何 CSS 单位,也不接受负数坐标(超出图像边界的坐标会被浏览器忽略)。
常见误解是认为 coords 能随图像缩放自适应——实际不会。如果 用 CSS 缩放(如 width: 50%),而 的 coords 仍按原图尺寸写,热点区域就会错位。
- 必须按图像原始尺寸(natural width/height)测量和填写坐标
- 若图像被 CSS 缩放,需按比例换算
coords值,或改用 SVG / JavaScript 方案替代 - 浏览器对超出图像边界坐标的处理是一致的:直接忽略,不报错也不警告
rect/circle/poly 三种 shape 对应的 coords 格式
coords 的具体格式完全取决于 shape 属性值,三者不能混用。写错格式会导致区域失效,但 HTML 验证器通常不报错,只能靠点击测试验证。
shape="rect"→coords="x1,y1,x2,y2":左上角 + 右下角两组坐标,顺序不能颠倒(例如"10,20,100,80")shape="circle"→coords="x,y,r":圆心 x、y 和半径 r,三者缺一不可(例如"60,75,25")shape="poly"→coords="x1,y1,x2,y2,x3,y3,...":按顶点顺时针或逆时针顺序列出所有点,无需首尾重复(例如"20,30,90,25,85,88,15,92")
注意:shape 不写默认为 "rect",但此时 coords 仍必须是四数值格式,否则行为未定义。
用 Photoshop 获取 coords 坐标的实际操作要点
不用 Dreamweaver 也能准确定位,关键在信息面板和自由变换的配合使用,但容易因图层/缩放比例出错。
- 确保图像在 Photoshop 中 100% 显示(Ctrl+0),且信息面板单位设为“像素”(右键信息面板 → 单位与标尺 → 像素)
- 矩形区域:用选框工具拉出区域后,信息面板直接显示
X、Y、W、H;coords="X,Y,X+W,Y+H" - 圆形区域:用椭圆选框工具画正圆(Shift 拖拽),信息面板显示中心
X、Y和半径W/2;coords="X,Y,W/2" - 多边形区域:用钢笔工具描边后转选区,再在路径面板中导出坐标(需脚本辅助),手动记录顶点更可靠
切记:Photoshop 里看到的尺寸必须和 HTML 中 的 width、height 属性值一致,否则坐标会偏移。
coords 值被忽略的几个典型场景
明明写了 coords 却没响应点击,大概率不是语法错,而是这些隐性条件不满足:
缺少usemap属性,或其值(如"#map1")与不匹配没有href或onclick,部分浏览器对无交互属性的区域不激活热区- 图像加载失败(404)或跨域未配置 CORS,导致浏览器拒绝解析映射关系
- 多个
坐标重叠时,DOM 中靠前的元素会遮挡后面的,即使视觉上后者在上层
调试建议:用浏览器开发者工具检查 是否被正确解析(Elements 面板中展开看子节点),再手动在控制台执行 document.querySelector('area').coords 看返回值是否符合预期。
到这里,我们也就讲完了《coords属性单位及坐标格式全解析》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
208 收藏
-
167 收藏
-
136 收藏
-
115 收藏
-
280 收藏
-
443 收藏
-
422 收藏
-
123 收藏
-
291 收藏
-
333 收藏
-
472 收藏
-
346 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习