position:absolute
我知道如何通过为父母和孩子做事来将 div 堆叠在 div 之上position:relative
,但我怎样才能让一个 div 从另一个 div “上升”?我想要实现的一个例子是here。滚动到底部并将鼠标悬停在艺术品上。
问问题
1073 次
4 回答
2
您可以做的是在相对定位框中弹出的绝对位置,例如:
<div class="featured-image">
<div class="caption">
<p>This is where your text goes</p>
</div>
</div>
现在你有了它,你会想让标题不可见,除非滚动过去。因此,仅使用 CSS 的简单方法是:
.featured-image { position:relative; width:300px; height: 400px; }
.caption { position:absolute; bottom:0; display:none; }
.feature-image:hover > .caption { display:block; }
当您将鼠标悬停在图像上时,最后一行可以看到。
然后你可以很容易地用 jQuery 为它制作动画。这似乎是他们正在使用的。
$(document).ready(function(e) {
$(".caption").hide();
});
var show = function() {
$(".caption", this).stop(true, true).show(500)
};
var hide = function() {
$(".caption", this).stop(true, true).hide(500);
};
$(".featured-image").hover(show, hide);
于 2013-02-28T04:20:15.133 回答
1
html
<div id="pic">
<div>
</div>
</div>
CSS
#pic {
position: relative;
background: yellow;
width: 100px;
height: 100px;
overflow: hidden;
}
#pic div {
position: absolute;
bottom: -50px;
background: black;
height: 50px;
width: 100px;
}
jQuery
$('#pic').hover(
function(){
$(this).find('div').stop(true, true).animate({
'bottom': '+=50'
}, 100);
},
function(){
$(this).find('div').stop(true, true).animate({
'bottom': '-=50'
}, 100);
}
);
jsfiddle:http: //jsfiddle.net/Z6eLa/2/
于 2013-02-28T04:28:54.557 回答
0
向自己介绍 jQuery 和 z-index。
http://api.jquery.com/slideDown/
这里的技巧是向下滑动会让你的顶部 div 向下滑动。我想到的唯一一件事就是不要扩大底部的div,而是做相反的事情。获取顶部 div,并让它向上滑动,而另一个 div 显示在它后面。它应该给出底部 div '向上滑动'的外观。
请注意,如果这不起作用,对不起。我实际上不确定你是否可以让它只滑到一半而不是一路……祝你好运!
于 2013-02-28T04:16:58.473 回答
0
你不需要 JS,只需使用 css3 转换。
于 2013-02-28T14:10:09.470 回答