我正在尝试将两个DIV放在彼此之上,这样当指针悬停在图片上方时,顶部的一个淡出以显示下面的一个。我这样做了:http://quaystreet.chrisloughnane.net/
我想让它具有响应性,因此图片会缩放到移动设备的水平宽度。对于一张照片来说没有问题,但是当我尝试重新定位DIV时,它会断开。
http://jsfiddle.net/chrisloughnane/f2NdQ/4/
只有CSS可以做我想做的事吗?
<div id='old'><img src="http://quaystreet.chrisloughnane.net/images/quay-street-old.jpg"/></div>
<div id='new'><img src="http://quaystreet.chrisloughnane.net/images/quay-street-new.jpg"/></div>
img {
max-width: 100%;
display: block;
margin: auto;
}
答案 0 :(得分:3)
我们走了,
<强> Live Example 强>
CSS:
.images {
width: 100%;
position: relative;
max-width: 354px;
margin: 0 auto;
}
.images img {
position: absolute;
top: 0;
width: 100%;
max-width: 354px;
}
JavaScript的:
$(document).ready(function() {
$('.images').on('mouseenter', function(){
$('.images .old').fadeOut(1000);
}).on('mouseleave', function(){
$('.images .old').fadeIn(1000);
});
});
HTML:
<div class="images">
<img class="new" src="http://quaystreet.chrisloughnane.net/images/quay-street-new.jpg">
<img class="old" src="http://quaystreet.chrisloughnane.net/images/quay-street-old.jpg">
</div>
有些事情你知道:
354px
可以是任何值,只需要img将使用的最大宽度。因此,当小于354px时,他将使用100%的整个div。修改强>
如果你不关心browser support你可以使用CSS3过渡,请注意没有IE&lt; 10。 Here is the answer with transition
答案 1 :(得分:1)
JavaScript并不是必需的。使用平滑的CSS3过渡可以实现相同的行为
.images {
position: relative;
margin: 0 auto;
}
.images img {
position: absolute;
top: 0;
left: 0;
width: 100%;
max-width: 354px;
-webkit-transition: opacity .8s linear 0s;
transition: opacity .8s linear 0s;
}
.images img:first-child {
z-index: 2;
}
.images img:first-child:hover {
opacity: 0;
}