Skip to main content

Chassis v5.11.0

Legacy grid

Deprecated

Chassis includes a deprecated float-based responsive grid system with 12 columns.

CSS Grid

CSS Grid Layout is now the recommended way to create layouts with Chassis. Visit the Grid page for details of the utility classes available and example layouts.

The legacy float-based grid will remain in Chassis for some time, but you'll generally find it simpler and cleaner to create layouts with CSS Grid. The migration guide below shows how to replicate common patterns from the float grid.


Migration guide

While CSS Grid offers far more powerful layout possibilities, it's also straightforward to create a 12-column grid that matches the legacy float grid. With some simple class changes, you can migrate existing layouts. For example:

Float-based grid:

ch-col--4
ch-col--4
ch-col--4
ch-grid-cols-span--4
ch-grid-cols-span--4
ch-grid-cols-span--4
<div class="ch-row">
  <div class="ch-col--4">
    <span class="grid-item">ch-col--4</span>
  </div>
  <div class="ch-col--4">
    <span class="grid-item">ch-col--4</span>
  </div>
  <div class="ch-col--4">
    <span class="grid-item">ch-col--4</span>
  </div>
</div>

<div class="ch-grid ch-grid-cols--12 ch-gap--4">
  <div class="ch-grid-cols-span--4">
    <span class="grid-item">ch-grid-cols-span--4</span>
  </div>
  <div class="ch-grid-cols-span--4">
    <span class="grid-item">ch-grid-cols-span--4</span>
  </div>
  <div class="ch-grid-cols-span--4">
    <span class="grid-item">ch-grid-cols-span--4</span>
  </div>
</div>

Legacy grid layout

Columns must be inside a row.

ch-col--4
ch-col--4
ch-col--4
ch-col--6
ch-col--6
ch-col--4
ch-col--8
ch-col--5
ch-col--7
<div class="ch-row">
  <div class="ch-col--12 md:ch-col--4">
    <span class="grid-item">Grid</span>
  </div>
  <div class="ch-col--12 md:ch-col--4">
    <span class="grid-item">Grid</span>
  </div>
  <div class="ch-col--12 md:ch-col--4">
    <span class="grid-item">Grid</span>
  </div>
</div>

Centered Grid/Container

The container centres the content with a max-width: 1200px.

<div class="ch-container">
  <div class="ch-row">...</div>
</div>

Offset columns

You can offset your columns using: [xs,sl,sm,md,lg]:ch-col--offset-*

Offset by 1
Offset by 3
Offset by 5
<div class="ch-container">
  <div class="ch-row">
    <div class="md:ch-col--6 md:ch-col--offset-1">
      <span class="grid-item">Offset by 1</span>
    </div>
    <div class="md:ch-col--6 md:ch-col--offset-3">
      <span class="grid-item">Offset by 3</span>
    </div>
    <div class="md:ch-col--6 md:ch-col--offset-5">
      <span class="grid-item">Offset by 5</span>
    </div>
  </div>
</div>

<!-- Responsive eg... -->
<div class="[xs,sl,sm,md,lg]:ch-col--offset-*"></div>

Pull and push columns

You can use push and pull to adjust column layouts.

ch-col--4
ch-col--4 ch-col--push-4
<div class="ch-container">
  <div class="ch-row">
    <div class="md:ch-col--4">
      <span class="grid-item">ch-col--4</span>
    </div>
    <div class="md:ch-col--4 md:ch-col--push-4">
      <span class="grid-item">ch-col--4 ch-col--push-4</span>
    </div>
  </div>
</div>

<!-- Responsive eg... -->
<div class="[xs,sl,sm,md,lg]:ch-col--push-*"></div>
<div class="[xs,sl,sm,md,lg]:ch-col--pull-*"></div>