You need to enable JavaScript to run this app. SwiperJS 3D立方体效果初始角度修改 实现滚动时显示两个相邻面
优惠活动
大模型
产品
解决方案
定价
更多

SwiperJS 3D立方体效果初始角度修改 实现滚动时显示两个相邻面

Swiper 3D立方体斜视角配置方案

通过给swiper外层容器添加固定3D旋转角度,打破默认的正面对齐布局,即可实现同时展示两个相邻立方体面的效果,不需要改动Swiper cube效果的内部计算逻辑。原有HTML结构不需要做任何修改,直接复用即可。

CSS 调整项

  • 给.swiper-container补充3D透视与旋转配置,替换原有基础样式:
.swiper-container {
  width: 300px;
  height: 600px;
  position: absolute;
  left: 50%;
  top: 30%;
  margin-left: -150px;
  margin-top: -150px;
  /* 新增3D渲染配置 */
  perspective: 1200px;
  transform: rotateY(-30deg) rotateX(5deg);
  transform-style: preserve-3d;
}
  • rotateY的取值直接决定两个相邻面的可视占比,想要两个面宽度均等就调到-45度,想要正面占视觉主导、侧面仅露窄边就调到-15~-20度区间

JS 配置调整项

  • 关闭cube效果内置的错位阴影,避免外层旋转后阴影显示位置偏移:
var swiper = new Swiper('.swiper-container', {
  effect: 'cube',
  grabCursor: true,
  speed: 600,
  cubeEffect: {
    shadow: false,
    slideShadows: false,
    shadowOffset: 20,
    shadowScale: 0.94,
  },
  pagination: {
    el: '.swiper-pagination',
    clickable: true,
  },
});

注意事项

  • 切换动画全程保持固定斜视角,每次立方体滚动换面完成后,都会维持初始的倾斜角度,不会跳回单一面正对的默认状态
  • 触摸交互如果出现坐标偏移,升级到最新正式版Swiper即可解决,新版本已经适配了带transform外层容器的触摸映射计算
  • 如果需要保留阴影效果,不要用cube内置的阴影,直接给.swiper-container加CSS的drop-shadow投影即可,不会随角度出现错位

内容的提问来源于stack exchange,提问作者Simon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.08 10:15:10