0

我在将链接定位在图像上时遇到问题。我为此链接使用了不透明度和悬停状态,我设法让它工作,但结果不是我所期望的。悬停不按我想要的方式工作。我相信有更好的方法可以做到这一点,希望有人能够帮助我。谢谢!

这是HTML代码:

<ul id="content-images">
<li><img class="show2" src="img/some_img.png" width="176" height="168"></li>
<li><img class="show2" src="img/some_img2.png" width="176" height="168"></li>
<li><img class="show2" src="img/some_img3.png" width="176" height="168"></li>
</ul>
<span class="show"><a href="#">Link1</a></span>
<span class="show"><a href="#">Link2</a></span>

和CSS代码:

.show {
    opacity:0.8;
    position:relative;
    top:10px;
    left:10px;
  }
 .show:hover {
    opacity:1.0;
  }
 .show2 {
    left: 1px;
    opacity: 0.8;
    position: relative;
    top: -39px;
  }
 .show2:hover {
    opacity:1.0
  }
4

1 回答 1

0

如果您希望链接和图像“表现一致”,则应使用 javascript。下面,我写了一个示例,说明它如何以非常简单的方式用于链接和图像。JSFiddle 上提供了现场演示:JSFiddle

HTML:

<ul id="content-images">
<li><img id="image1" class="show2" src="http://placehold.it/100x100" width="176" height="168"></li>
</ul>
<span id="link1" class="show"><a href="#">Link1</a></span>

JS(jQuery):

$(document).ready(function(){
    //hover image
    $('#image1').hover(function(){
        $(this).fadeTo("slow",0.8);
        $("#link1").fadeTo("slow",0.8);
    });
    //reestablish previous display when mouse out
    $('#image1').mouseout(function(){
        $(this).fadeTo("slow",1);
        $("#link1").fadeTo("slow",1);
    });
    //hover link
    $('#link1').hover(function(){
        $(this).fadeTo("slow",0.8);
        $("#image1").fadeTo("slow",0.8);
    });
    //reestablish previous display when mouse out
    $('#link1').mouseout(function(){
        $(this).fadeTo("slow",1);
        $("#image1").fadeTo("slow",1);
    });
});

OBS:如果您不想要任何过渡动画,只需去掉"slow"里面的参数fadeTo或将其更改为"fast"如果您希望它更快

于 2013-08-08T13:20:39.957 回答