Overview

The Grid extension creates rows and columns in the carousel. Each slide can have each dimension like this example:

  • 16
  • 17
  • 18
  • 19
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 01
  • 02
  • 03
  • 04

Installation

NPM

Get the latest version by NPM:

$ npm install @splidejs/splide-extension-grid

Mount the extension to Splide:

import { Splide } from '@splidejs/splide';
import { Grid } from '@splidejs/splide-extension-grid';
new Splide( '#splide' ).mount( { Grid } );
JavaScript

CDN or Hosting Files

Visit jsDelivr and get the link of the latest file or download the file from the dist directory. And then, import the minified script on your site:

<script src="path-to-the-script/splide-extension-grid.min.js"></script>
HTML

After that, mount the extension to Splide:

new Splide( '#splide' ).mount( window.splide.Extensions );
JavaScript

Options

Pass the grid option to the constructor:

new Splide( '#splide', {
grid: {
rows: 2,
cols: 2,
gap : {
row: '1rem',
col: '1.5rem',
},
},
} );
JavaScript

rows

rows: number

The number of rows.


cols

cols: number

The number of columns.


dimensions

dimensions: [ number, number ][]

Collection of dimensions (rows and cols) as an array. If the value is [ [ 1, 1 ], [ 2, 2 ] ], the first slide will be 1×1 and next all slides will be 2×2. The extension ignores rows and cols options if this option is available.


gap

gap: { row?: number | string, col?: number | string }

Gaps for rows or cols. CSS relative units are acceptable.

{
grid {
gap: {
row: '1rem',
col: '1rem',
},
},
}
JavaScript

Breakpoints

You might need to reduce the number of cells or disable the grid mode in mobile devices. The grid option can respond with breakpoints. Set the option to false to disable the mode:

new Splide( '#splide', {
grid: {
rows: 3,
cols: 3,
},
breakpoints: {
800: {
grid: {
rows: 2,
cols: 2,
},
},
600: {
grid: false,
},
},
} );
JavaScript