在悬停时,我想在图像的右上方显示一个链接。就像你在Facebook上的个人资料图片上所说的“改变图片”一样。
我试图让它使用一些jquery,但没有运气,因为它没有图像的右侧。图像将是不同的大小,因为它们是个人资料图片。无论大小如何,它都需要保持在图像的右上角。
JQuery的:
$(".imgHover").hover(function() {
$(this).children("img").fadeTo(200, 0.25)
.end().children(".hover").show();
}, function() {
$(this).children("img").fadeTo(200, 1)
.end().children(".hover").hide();
});
HTML:
<div class="imgHover">
<div class="hover"><a href="htpp://google.com">Edit</a></div>
<img src="http://img14.imageshack.us/img14/9698/29588166.jpg" alt="" />
</div>
CSS:
.imgHover .hover {
display: none;
position:absolute;
z-index: 2;
}
谢谢!
答案 0 :(得分:11)
这就是我这样做的方式: CSS:
.imgHover {
display: inline;
position: relative;
}
.imgHover .hover {
display: none;
position: absolute;
right:0;
z-index: 2;
}
HTML:
<div class="imgHover">
<div class="hover"><a href="htpp://google.com">Edit</a></div>
<img src="http://img14.imageshack.us/img14/9698/29588166.jpg" alt="">
</div>
JQuery的:
$(function() {
$(".imgHover").hover(
function() {
$(this).children("img").fadeTo(200, 0.85).end().children(".hover").show();
},
function() {
$(this).children("img").fadeTo(200, 1).end().children(".hover").hide();
});
});
在jsfiddle上进行测试。
答案 1 :(得分:2)
尝试
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Test</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <style> .imgHover { display: inline; position: relative; } .imgHover .hover { display: none; position: absolute; right: 5px; top: 5px; z-index: 2; } </style> </head>
<body> <script> $(function() { $(".imgHover").hover( function() { $(this).children("img").fadeTo(200, 0.25).end().children(".hover").show(); }, function() { $(this).children("img").fadeTo(200, 1).end().children(".hover").hide(); }); }); </script>
<div class="imgHover"><div class="hover"><a href="htpp://google.com">Edit</a></div><img src="http://img14.imageshack.us/img14/9698/29588166.jpg" alt=""></div>
</body> </html>
答案 2 :(得分:2)
如果imgHover与其内容相匹配,那么它应该只有position:relative
并且悬停类有position:absolute
和top:0;right:0
答案 3 :(得分:1)
使您的图像成为具有相对定位的div的背景 并使用叠加内容向其添加内部div 用display来设置它:none
然后 imgdiv:hover innerdiv {display:block} 会做的伎俩
答案 4 :(得分:1)
您需要将链接绝对定位在位置与正常流量不同的容器中。在这个例子中,我在容器上使用relative。试试这个:
HTML
<div class="imgHover">
<div class="imgContainer">
<a href="http://google.com">Edit</a>
<img src="http://img14.imageshack.us/img14/9698/29588166.jpg" alt="" />
</div>
</div>
CSS
.imgHover { float: left; }
.imgContainer { position: relative; }
.imgContainer a { display: block; position: absolute; top: 0; right: 0; background: Green;}