[英]How can I click on a link which opens an image, then only display part of that image
我有一张大地图,上面有兴趣点。
我想要的是在文本页面上有一个按钮,单击该按钮会在另一个窗口中打开地图图像。 然后,我需要的是图像仅显示地图的相关部分,该部分显示了带有按钮的原始页面上提到的兴趣点。
我已经找到了使用和坐标,或者将地图用作Sprite表格,或者使用CSS背景位置来显示地图的特定部分的方法,但是我找不到在单击按钮时实现此方法的方法。
理想情况下,我只想用CSS来实现这一点,因为将有很多页面链接到该图像。
这是我要实现的目标的小指南。
<style>
.map-one {
background: url('map.jpg');
background-position: center bottom;
height: 300px;
width: 300px;
}
</style>
<button><a class="map-one" href="map.jpg">Click</a></button>
这是我尝试过的一些代码的范例,这显然是错误的,但是当单击链接时,我不知道如何将css样式应用于图像。
好吧,它不仅仅适用于纯CSS,您必须将一些参数传递到新窗口。 因此,我假设您将X和Y坐标传递到新窗口,并且在新页面上可以使用该坐标。
首先,您需要包装“地图”以为其提供视口。 如果页面上没有其他内容,理论上您可以使用body:
<div id="mapviewport">
<div id="map">
</div>
</div>
因此,如果希望用户能够浏览地图,则可以在视口上使用overflow: auto
,否则可以使用overflow: hidden
。 地图容器获取地图的宽度/高度。 该地图是通过地图容器上的background-image
提供的。
现在滚动到正确的位置,使用。 .scrollLeft
上的scrollTop
和.scrollLeft
将地图滚动到正确的位置。
您将需要校准值,直到获得所需的确切区域为止,但是代码非常像这样:
<a href="map.html" target="_blank"><button> <!-- Map page path -->
CLICK ME!
</button></a>
<style>
div.map {
background-image: url('map.png'); /* image file path */
background-position: 70px 90px; /* image position */
width: 200px; /* image size */
height: 200px;
}
</style>
<div class="map"></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.