You need to enable JavaScript to run this app. 如何使用Swiper JS实现带非聚焦元素模糊效果的HTML/CSS轮播(适配WordPress)
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Swiper JS实现带非聚焦元素模糊效果的HTML/CSS轮播(适配WordPress)

三卡同步位移+非激活模糊轮播 WordPress 实现方案

核心Swiper配置调整

实现三个元素同步位移的核心是开启居中控件、设置三栏可视宽度,保证轮播位移时三个卡片始终保持等距同步运动,配置如下:

const swiper = new Swiper('.swiper-container', {
  // 核心布局参数
  slidesPerView: 3,
  centeredSlides: true,
  spaceBetween: 30,
  loop: true,
  loopAdditionalSlides: 2,
  // 实时监听轮播状态更新样式
  on: {
    slideChange: applySlideBlurStyle,
    setTranslate: applySlideBlurStyle
  },
  // 保留原有分页功能
  pagination: {
    el: '.swiper-pagination',
    clickable: true,
  }
});
  • 相比原有配置,移除单栏显示参数,开启居中模式后激活卡片会始终固定在屏幕视觉中心,左右卡片随轮播运动同步平移,不会出现错位
  • 补充循环填充参数,避免轮播到底时出现卡片数量不足的留白问题

非激活元素模糊效果实现

通过监听轮播的实时位移状态,动态计算每个幻灯片距离激活中心的偏移量,给非激活元素匹配对应的模糊强度,实现平滑过渡的效果:

function applySlideBlurStyle(swiper) {
  swiper.slides.forEach((slideEl) => {
    // 跳过激活状态的卡片
    if (slideEl.classList.contains('swiper-slide-active')) {
      slideEl.style.filter = 'blur(0px)';
      slideEl.style.opacity = '1';
      return;
    }
    // 计算非激活卡片的偏移距离,匹配模糊强度
    const offsetDist = Math.abs(swiper.getSlideTranslateOffset(slideEl));
    const blurLevel = Math.min(offsetDist * 0.02, 6);
    slideEl.style.filter = `blur(${blurLevel}px)`;
    slideEl.style.opacity = '0.7';
  });
}
  • 激活位置的卡片完全无模糊,保持最高不透明度
  • 距离中心越远的非激活卡片,模糊强度越高,和设计参考效果一致

配套CSS适配修正

调整原有样式的不兼容问题,适配WordPress环境无样式冲突:

/* 轮播容器适配 */
.swiper-container {
  width: 100%;
  height: auto;
  padding: 60px 0;
  overflow: hidden;
}
/* 幻灯片过渡效果,让位移和模糊切换更丝滑 */
.swiper-slide {
  cursor: pointer;
  text-align: center;
  background: transparent;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap; /* 修正原有不合法的wrap属性写法 */
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}
/* 幻灯片内图片适配三栏布局 */
.swiper-slide img {
  max-width: 80%;
  height: auto;
}
/* 原有标题样式保留,无需额外调整 */
.testosotto {
  margin-top: -15px;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 22px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

WordPress 部署注意事项

  • 优先使用站点本地部署的Swiper核心资源,避免额外引入第三方资源造成版本冲突
  • 给轮播容器添加专属类名前缀(如featured-content-swiper),所有自定义样式都附带该前缀,避免和主题、其他插件的样式产生冲突
  • 原有计划单独处理的背景样式,直接设置在轮播的外层包裹div上即可,无需侵入修改轮播容器本身的样式
  • 不要在全局页面头加载该轮播的相关代码,仅在需要展示轮播的页面(如首页模板)按需引入,减少页面冗余加载

内容的提问来源于stack exchange,提问作者Giuliano Maria Lodi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 21:54:06