如何正确添加 Splide Grid 扩展插件

发布时间 - 2026-01-21 00:00:00    点击率:

splide grid 扩展需通过 `window.splide.extensions` 而非 `window.splide.grid` 挂载,且必须确保 grid 插件脚本已正确加载、配置项结构符合 v4+ 规范(如使用 `rows/cols` 替代旧版 `dimensions`)。

在 Splide v4 及更高版本中,Grid 扩展的挂载方式已发生重要变更:不再支持直接挂载 window.splide.Grid,而必须统一通过 window.splide.Extensions 对象注册所有官方扩展。这是导致你代码中 Grid 未生效的根本原因。

✅ 正确集成步骤

  1. 引入必要资源(按顺序)

    
    
    
    
    
    
  2. 初始化时挂载 Extensions(关键!)

    jQuery(function($) {
      const splide = new Splide('#exmpale-slick', {
        type: 'loop',
        height: '20rem',
        gap: '1em',
        perPage: 2,
        perMove: 1,
        // ✅ Grid 配置:v4+ 推荐使用 rows/cols + gap(更语义化)
        grid: {
          rows: 2,
          cols: 2,
          gap: {
            row: '1em',
            col: '1em'
          }
        },
        breakpoints: {
          600: {
            height: '10rem',
            perPage: 1,
            grid: {
              rows: 1,
              cols: 1,
              gap: {
                row: '.5em',
                col: '.5em'
              }
            }
          }
        }
      });
    
      // ✅ 正确挂载方式:传入 window.splide.Extensions
      splide.mount(window.splide.Extensions);
    });

⚠️ 注意事项

  • dimensions 已弃用:旧文档中使用的 dimensions: [[2, 0.5], [2, 2], ...] 是 v3 语法,v4+ 中已被 rows / cols 取代。混合使用会导致 Grid 不渲染。
  • HTML 结构无需额外 class:Splide Grid 会自动为 .splide__slide 元素添加网格布局样式(display: grid 等),请确保 .splide__list 下直接是
  • ,你的 HTML 符合要求。
  • 避免重复引入或 CDN 版本不匹配:检查浏览器控制台是否报错 Splide is not defined 或 Grid is not a constructor —— 这通常意味着 splide-extension-grid.min.js 加载失败或版本与 Splide 主库不兼容(推荐使用 CDNJS 或 jsDelivr 的明确版本号)。
  • jQuery 非必需:若项目无其他

    jQuery 依赖,建议改用原生写法,避免潜在冲突:
    document.addEventListener('DOMContentLoaded', () => {
      const splide = new Splide('#exmpale-slick', { /* config */ });
      splide.mount(window.splide.Extensions);
    });

✅ 验证是否成功

初始化后,检查 DOM 中 .splide__slide 元素是否被自动添加了 data-splide-grid-row 和 data-splide-grid-col 属性,并在开发者工具中观察其 CSS display 是否变为 grid —— 若两者均存在,即表示 Grid 扩展已激活。

遵循以上规范,你的 Splide 轮播图将正确呈现响应式网格布局,无需任何额外 CSS 干预。


# css  # jquery  # html  # js  # npm  # 浏览器  # 工具  # win  # cdn  # .net  # class 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Python并发异常传播_错误处理解析【教程】  英语简历制作免费网站推荐,如何将简历翻译成英文?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  BootStrap整体框架之基础布局组件  黑客入侵网站服务器的常见手法有哪些?  高端云建站费用究竟需要多少预算?  Python自动化办公教程_ExcelWordPDF批量处理案例  LinuxShell函数封装方法_脚本复用设计思路【教程】  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  中山网站制作网页,中山新生登记系统登记流程?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  网站页面设计需要考虑到这些问题  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  在Oracle关闭情况下如何修改spfile的参数  如何快速启动建站代理加盟业务?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  想要更高端的建设网站,这些原则一定要坚持!  Laravel如何实现用户密码重置功能?(完整流程代码)  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  PHP正则匹配日期和时间(时间戳转换)的实例代码  JS中对数组元素进行增删改移的方法总结  如何用已有域名快速搭建网站?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  微信小程序 input输入框控件详解及实例(多种示例)  简单实现Android验证码  JavaScript Ajax实现异步通信  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  Android自定义listview布局实现上拉加载下拉刷新功能  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  JavaScript如何实现类型判断_typeof和instanceof有什么区别  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  如何在万网主机上快速搭建网站?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  EditPlus中的正则表达式 实战(2)  如何彻底删除建站之星生成的Banner?  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  微信小程序 五星评分(包括半颗星评分)实例代码