我想热点到 html 页面上显示的图像中的区域。但是,此图像会根据显示屏幕更改宽度和高度:
<img height="100%" width="100%" src="img.png"/>
我该如何热点呢?我正在考虑一个将原始坐标映射到调整大小图像的函数。
您可以将图像和热点放置在相对定位的元素中,然后使用百分比绝对定位热点:
CSS
.hotspotted {
position: relative;
}
.hotspot {
display: block;
position: absolute;
}
#hotspot1 {
height: 81%;
left: 9%;
top: 16%;
width: 45%;
}
#hotspot2{
height: 18%;
right: 11%;
top: 20%;
width: 11%;
}
HTML
<div class="hotspotted">
<img height="100%" width="100%" src="img.png"/>
<a href="#" id="hotspot1" class="hotspot"></a>
<a href="#" id="hotspot2" class="hotspot"></a>
</div>
更新
如果您要使用地图,那么我建议您计算新坐标而不是使用百分比。这可以很容易地使用以下等式完成:
new_x = (orginal_x / original_image_width) * new_image_width
new_y = (orignal_y / original_image_height) * new_image_height
您需要将坐标 (x,y) 转换为百分比。
例如,如果您的图像是 200px 宽和 200px 高,并且您的坐标是 x=50px,y=100px,那么在转换后您会得到
x = 50/200*100 = 25%
y = 100/200*100 = 50%
所以现在你知道你的坐标总是在屏幕左侧的 25% 和顶部的 50%,假设图像占据整个屏幕。这是你问的吗?:)