缩略图悬停缩放(放大)w/CSS3 和 javascript z 轴问题

发布于 2024-11-29 16:14:12 字数 1538 浏览 1 评论 0原文

我正在尝试构建一系列在悬停时放大的缩略图。我的初步构建通过使用 CSS3 变换:缩放和缓入来完成放大/缩放部分。问题在于它们彼此重叠,因为它们共享单个 z 轴。

任何人都可以帮助我在这个场景中创建一个 JavaScript 添加,以正确地将每个缩略图定位在有意义的 z 轴上,即每个放大的图像调整大小以位于每个其他图像的顶部。

在我的网站上进行演示: 演示 更新:已解决

代码预览:

html:

<div style="position: absolute;" class="item hover"> 
 <a href="#"><img alt="two" src="img/posts.png"></a> 
</div>

css:

#main div.hover {
position: relative;
z-index:200;
display: block;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
background-color: #297ab1;}

#main div.hover:hover, #main div.hover_effect {
-webkit-transform:scale(1.5, 1.5);
-moz-transform:scale(1.5, 1.5);
-o-transform:scale(1.5, 1.5);
-ms-transform:scale(1.5, 1.5);
transform:scale(1.5, 1.5);}

脚本:

$(document).ready(function() {
    $('.hover').bind('touchstart touchend', function(e) {
        e.preventDefault();
        $(this).toggleClass('hover_effect');
    });
});

所以这个页面使用这个脚本来切换将 div 比例增加到的悬停效果类150%。

解决方案:z-index:999

还有关于在没有 setTimeOut 的情况下在初始 mouseenter 中设置延迟的任何想法吗?

非常感谢任何建议和解决方案!

ps 此演示使用砖石图像库的修改版本。

谢谢。

Im attempting to build a series of thumbnails that enlarge on hover. My preliminary build accomplishes the enlarge/zoom part by using CSS3 transform:scale and ease-in-out. The problem is that they overlap each other because they share a single z-axis.

Can anyone assist me in creating a javascript addition to this scenario that correctly positions each thumbnail in a z-axis that makes sense, i.e. each enlarged image resizes to be on top of each other image.

Demonstration on my website here: demo Updated: Solved

Preview of code:

html:

<div style="position: absolute;" class="item hover"> 
 <a href="#"><img alt="two" src="img/posts.png"></a> 
</div>

css:

#main div.hover {
position: relative;
z-index:200;
display: block;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
background-color: #297ab1;}

#main div.hover:hover, #main div.hover_effect {
-webkit-transform:scale(1.5, 1.5);
-moz-transform:scale(1.5, 1.5);
-o-transform:scale(1.5, 1.5);
-ms-transform:scale(1.5, 1.5);
transform:scale(1.5, 1.5);}

script:

$(document).ready(function() {
    $('.hover').bind('touchstart touchend', function(e) {
        e.preventDefault();
        $(this).toggleClass('hover_effect');
    });
});

So this page uses this script to toggle the hover_effect class that increases the div's scale to 150%.

Solution: z-index:999

Also any ideas about putting a delay in the initial mouseenter without a setTimeOut?

Any suggestions and solutions are most appreciated!

p.s. This demo uses a modified version of masonry image gallery.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

思念满溢 2024-12-06 16:14:12

未经测试:

#main div.hover:hover, #main div.hover_effect {
    z-index: 999
}

Untested:

#main div.hover:hover, #main div.hover_effect {
    z-index: 999
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文