【发布时间】:2016-03-14 22:31:41
【问题描述】:
我有一个包含图像的水平行,并且我正在尝试实现与 netflix 在图像悬停时使用的相同缩放效果,如下视频所示:
https://s3.amazonaws.com/whatever12345/net.mov
我观察到,在悬停时,当图像被缩放时,它会在 x 轴上将其兄弟姐妹推一段距离,但是当悬停结束时,它们都会返回到原点位置。我还观察到,缩放后的图像只是与其容器以及顶部和底部的元素重叠,而不是干扰边距和填充。如何重新创建此操作?
这是我尝试使用的 css 和 jQuery,但这不是我想要实现的:
.cover-item {
position: relative;
display: inline-block;
width: 136px;
height: 178px;
vertical-align: bottom;
background-position: center;
background-repeat: no-repeat;
background-size: 100% 100%;
cursor: pointer;
-webkit-transition: 400ms;
transition: 400ms;
}
.cover-item-open {
transform: scale(1.1);
z-index: 2;
}
$('.image-container a').hover(function() {
$(this).find('.cover-item').toggleClass('cover-item-open');
});
我创建了这个JSFiddle 来显示我的完整代码
【问题讨论】:
-
对父容器应用相同的悬停动画缩放,并根据需要调整父容器的缩放量。您可以在孩子的处理程序中设置父动画。
-
这并没有为我提供我想要的效果。我在视频链接后的问题中解释了所需的效果。你能帮我实现吗? @Korgrue
-
在演示 mov.他们将父 div 设置为高于子级的最大缩放高度。父 div 也设置为溢出:可见,因此当它们展开时它不会切断子元素的侧面。试一试。
-
当我将父 div 设置为溢出:可见时,它解决了其他元素重叠的问题,消除了行的单个水平滚动并使整个页面水平滚动@Korgrue
-
看起来下面为您提供了一个可行的解决方案。干杯