指向同一图片上项目的多个链接

时间:2017-09-14 04:11:21

标签: html css

this post

我希望在包含多个项目的图片上有链接(在我的情况下为3,如上图所示)。目前我使用position:absolute来映射每个项目的链接。这导致重叠问题。我不想使用图像映射。

<div class="col-md-12">
    <a href="google.com" style="position: absolute;width: 149px;height: 240px;margin-left: 26%;"></a>
    <a href="yahoo.com" style="margin-left: 35%;position: absolute;width: 167px;height: 240px;"></a>
    <a href="index.com" style="margin-left: 45%;position: absolute;width: 151px;height: 240px;"></a>
    <img src="imagelink" alt="" class="col-md-12">
</div>

3 个答案:

答案 0 :(得分:1)

这正是设计图像映射的原因,但假设您不想使用它,您所要做的就是调整widthmargin-left属性,以便他们不重叠。请注意,您的margin-left属性是基于百分比的,因此它们将根据父级的大小进行扩展。因此,您可能希望使用固定值来匹配width

您需要的确切值会因您的图片而异。

这是一个工作示例,每个链接都有一个边框来展示点击区域:

&#13;
&#13;
a:first-of-type {
  border: 5px solid red;
  position: absolute;
  width: 85px;
  height: 140px;
  margin-left: 195px;
}

a:nth-of-type(2) {
  border: 5px solid blue;
  margin-left: calc(195px + 85px + 10px); /* Previous offset + width + borders */
  position: absolute;
  width: 100px;
  height: 240px;
}

a:last-of-type {
  border: 5px solid green;
  margin-left: calc(290px + 100px + 10px); /* Previous offset + width + borders */
  position: absolute;
  width: 92px;
  height: 240px;
}

img {
  margin: 0 auto;
  display: block;
}
&#13;
<div>
  <a href="#"></a>
  <a href="#"></a>
  <a href="#"></a>
  <img src="http://placehold.it/400">
</div>
&#13;
&#13;
&#13;

希望这有帮助! :)

答案 1 :(得分:0)

您可以使用lefttranslate的组合。请参阅下面的代码。

&#13;
&#13;
a{
background-color:red;
position: absolute;
width:150px;
height:150px;
}
a#fir{
left:0;
}
a#two{
left:50%;
transform:translateX(-50%);
}
a#thr{
right:0;
}
&#13;
<div class="col-md-12">
    <a id="fir" href="google.com"></a>
    <a id="two" href="yahoo.com"></a>
    <a id="thr" href="index.com"></a>
    <img src="http://www.rokkorfiles.com/photos/360PX.jpg" alt="" class="col-md-12" style="width:100%;display:block;">
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您需要使用image_map

Demo fiddle

点击右上角,该图片的中间会重定向您不同的链接。

HTML:

<img src="https://www.w3schools.com/html/pic_mountain.jpg" usemap="#yourmap" border="0">
<map name="yourmap">
<area shape="rect" coords="0,0,50,50" href="https://www.google.com/" target="_blank">
<area shape="rect" coords="150, 150, 100, 100" href="https://www.yahoo.com/" target="_blank">
</map>