jQuery和CSS3 三维多层倾斜悬停效果

  • 源码大小:4.83KB
  • 所需积分:1积分
  • 源码编号:19JP-3143
  • 浏览次数:797次
  • 最后更新:2023年05月10日
  • 所属栏目:动画
本站默认解压密码:19jp.com 或 19jp_com

简介

在jQuery和CSS3之上构建的3D交互式多层倾斜悬停效果。可以用来突出页面上的特色内容或行动呼吁,吸引用户的注意力,鼓励他们参与您的网站。

它使用CSS3 3D转换来旋转和平移一组元素,以响应光标的移动。通过在3D空间中旋转元素,您可以创建深度错觉,让您的内容感觉更具沉浸感和互动性

参见:

  • 使用jQuery的交互式视差倾斜效果-Tilt.js
  • 使用jQuery和CSS3的视差悬停倾斜效果-universal-Tilt.js

如何使用它:

1.将您的内容添加到网页中。

  1. <section class="section">
  2. <div class="card">
  3. <img src="1.jpg" class="card-image" class="card-image" />
  4. <h4 class="card-title">Hover Me</h4>
  5. <p class="card-text">This is a hover effect</p>
  6. </div>
  7. </section>

2.必要的CSS样式。

  1. .section{
  2. width: 250px;
  3. margin: 40px auto;
  4. transform-style: preserve-3d;
  5. transform: translateZ(100px);
  6. }
  7.  
  8. .card{
  9. width: 250px;
  10. padding:10px;
  11. text-align: justify;
  12. transform-style: preserve-3d;
  13. transform: translateZ(100px);
  14. -webkit-transform: translateZ(100px);
  15. -moz-transform: translateZ(100px);
  16. -ms-transform: translateZ(100px);
  17. -o-transform: translateZ(100px);
  18. background-color:#ddd;
  19. }
  20.  
  21. .card-image{
  22. width: 230px;
  23. transform-style: preserve-3d;
  24. transform:translateZ(100px);
  25. -webkit-transform:translateZ(100px);
  26. -moz-transform:translateZ(100px);
  27. -ms-transform:translateZ(100px);
  28. -o-transform:translateZ(100px);
  29. }
  30.  
  31. .card-text,
  32. .card-title{
  33. transform-style: preserve-3d;
  34. transform:translateZ(50px);
  35. -webkit-transform:translateZ(50px);
  36. -moz-transform:translateZ(50px);
  37. -ms-transform:translateZ(50px);
  38. -o-transform:translateZ(50px);
  39. }

3.在文档末尾加载最新的jQuery库。

  1. <script src="/path/to/cdn/jquery.slim.min.js"></script>

4.启用鼠标移动时的悬停效果。

  1. var card = $(".card");
  2. $(document).on("mousemove",function(e) {
  3. var ax = -($(window).innerWidth()/2- e.pageX)/20;
  4. var ay = ($(window).innerHeight()/2- e.pageY)/10;
  5. card.attr("style", "transform: rotateY("+ax+"deg) rotateX("+ay+"deg);-webkit-transform: rotateY("+ax+"deg) rotateX("+ay+"deg);-moz-transform: rotateY("+ax+"deg) rotateX("+ay+"deg)");
  6. });

预览截图