洞察趋势 多维度提升品牌价值

新闻动态

长沙建站:3D倾斜卡片效果的实现

发布日期:2026.11.05 12:03浏览量:9作者:技术部

返回列表

一、效果展示

当鼠标移入卡片时效果就会立刻触发,图中的鼠标其实已经放在了卡片的左上角,根据线条可看到。卡片的左上角好像向内压低了一些,而右下角好像是翘起来了,就像是真的把卡片按下去了一样。而且鼠标所在的位置还有一圈高光,让整个效果看着更立体。

长沙网站建设,3D倾斜卡片效果图

二、代码展示与解析

长沙网站建设先使用Html代码制作出卡片的容器与内容区域。外层容器只负责提供透视距离,内容区域才是真正的“卡片本体”。然后通过Css给内容区元素附加上基础效果:

perspective: 900px;为子元素建立透视空间,数值越小透视越夸张,一般取800~1000px;

transform-style: preserve-3d;它可以搭建出三维空间容器,让卡片的标题、正文可以在Z轴上分层(通过 translateZ),产生真实的纵深感;

::after伪类元素的radial-gradient属性,再配合上:hover,可以做出一个跟随鼠标移动的跟随鼠标移动的高光光斑;

transition: transform .5s cubic-bezier(.22,1,.36,1);控制鼠标移出后回弹的缓动,让卡片回到原位的过程更加自然。

最后,由长沙网站设计的 JavaScript 完成效果控制。当鼠标监听事件被触发时,getBoundingClientRect() 方法会立刻计算出鼠标在卡片内的归一化坐标(0~1),然后换算成以卡片中心为原点的 -0.5~0.5 偏移量,分别映射到 rotateY(水平方向)与 rotateX(垂直方向)上,算出卡片的倾斜角度。再把坐标同步写入Css变量中,控制高光光斑的位置,让卡片瞬间变得立体且倾斜。

完整Html与Javascript图如下:

长沙网站建设,3D倾斜卡片效果,JavaScript代码截图

核心代码:

  (function () {

    const card = document.getElementById('box-card');
    const inner = card.querySelector('.title');
    const MAX_DEG = 12;

    card.addEventListener('mousemove', (e) => {

      const rect = card.getBoundingClientRect();
      const px = (e.clientX - rect.left) / rect.width;
      const py = (e.clientY - rect.top) / rect.height;

      inner.style.transition = 'transform 0.08s ease-out';
      inner.style.transform =
        `rotateX(${(0.5 - py) * MAX_DEG * 2}deg)
       rotateY(${(px - 0.5) * MAX_DEG * 2}deg)
       scale(1.03)`;
      inner.style.setProperty('--mx', px * 100 + '%');
      inner.style.setProperty('--my', py * 100 + '%');
    });

    card.addEventListener('mouseleave', () => {
      inner.style.transition = 'transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)';
      inner.style.transform = 'rotateX(0) rotateY(0) scale(1)';
    });
  })();

三、实现细节与注意事项

有两处细节长沙网站开发认为需要提醒一下:

1、rotateX 的方向要与鼠标纵向位移相反。鼠标越往下,卡片上沿应向外、下沿向内,所以用的是 (0.5 - py) 而不是 (py - 0.5),否则会出现鼠标移动到左上角,卡片左下角却向内倾斜的还要多,效果看起来会很奇怪。

2、卡片在跟随鼠标移动时,这个过渡时间要设置得短一点。时间越短,卡片的变化速度就越快,有“指哪打哪”的感觉。但不能直接设置为 0,否则就看不到卡片变化的过程了。

四、效果视频展示

点击播放,即可看到效果演示视频。

五、效果应用

实际能够使用到这个效果的地方也很多。比如产品展示卡片、团队成员介绍等等地方都能使用,增加一点页面效果也能提升用户的体验感,也能加深用户对网站的印象。

以上就是长沙网站制作整理出的3D倾斜卡片效果的实现方法,希望对您有所帮助!

长沙蒲公英网络专业提供高效且优质的网站优化服务,为您的企业发展保驾护航!欢迎来电咨询:0731-84069615。

汇款方式-长沙网站建设,长沙网站开发,长沙网站设计,长沙网站制作,长沙外贸网站建设,长沙外贸网站制作,长沙蒲公英网络

准备好做出改变了吗?

让我们共同助力您的企业数字化革新

您希望我们为您提供什么服务呢

· · · · · · · · ·

0731-84069615

/

扫一扫
技术大牛与您直接沟通